1 Introduction

Service composition encompasses a set of techniques enabling the development of complex distributed business applications, known as Service-Based Applications (SBAs), resulting from the composition of elementary business services. Services are atomic, self-contained computational entities, independent of the execution platform, not subject to centralized control, and usually provided by different owners in highly dynamic environments as Internet (Papazoglou et al. 2007). They provide a specific functionality and communicate with each other through well-defined and interoperable protocols. Technological advances of the last years, together with the growing pervasiveness of services available on the Internet are the driving forces for service composition, a complex process including service discovery, service selection, service orchestration, service binding, and execution.

Services are characterized not only by the functionality they provide but also by non-functional attributes, referred to as Quality of Service (QoS) attributes, that represent a measure of how much a service is useful to the customer (Shehu et al. 2014). Typical QoS attributes are the price a customer has to pay to use the service, the availability (i.e. the probability that a service is accessible), the execution time (i.e. the time interval between the service invocation and the output reception), and the reliability (i.e. the ratio between the number of service responses and the number of service requests) (Cardoso et al. 2004). Due to the proliferation of services now available on-demand on the Internet, it is very likely that more services with the same functionality but different QoS attributes are available (Bouguettaya et al. 2017).

In realistic business scenarios, users specify QoS preferences at the level of the entire application, known as end-to-end QoS requirements, and they are not aware of how these preferences can be subdivided locally among the component services. Examples of QoS-based Service-Based Applications are Cloud applications. In these cases, component services have to be executed on computing resources belonging to different Cloud providers at a price depending both on the required computational power, and on the adopted market strategies (De Francesco et al. 2015). The response time, availability, pay-per-use, cost, and reputation are critical QoS attributes in cloud computing (Feng et al. 2016).

Selecting component services means to determine the services whose QoS values, once aggregated, meet these requirements. QoS aggregation rules depend both on the QoS type and on the composition patterns of the application. Typical aggregation rules are summation for attributes such as price and response time, average or min or max for reputation and throughput, multiplication for availability, and reliability. The problem of determining the component QoS values to meet global QoS requirements can be reduced to the Multidimensional Multiple-choice Knapsack Problem (MMKP) (Alrifai and Risse 2009) that is NP-complete, making it necessary to adopt approximation approaches that cause loss of generality (Strunk 2010) and that assume fixed QoS values. However, in a market-based service provision of business applications, these values may vary according to market trends, users’ requirements, and providers’ market strategies.

To deal with the dynamic nature of an Internet-based market of services, and with the conflicting interests of service consumers and providers regarding QoS attribute values, a viable approach is automated negotiation on the QoS attribute values of component services among the consumer and the service providers (Di Napoli 2009). Nevertheless, most approaches in automated negotiation require complex decision models, making it difficult for their adoption in real settings characterized by a dynamic and competitive market of conflicting requirements (Shojaiemehr et al. 2018).

In the present work, we propose a trade-off negotiation strategy applicable to a market of services characterized by multi-dimensional QoS attributes that allows us to obtain a Pareto-optimal agreement, if it exists, on the QoS attribute values. The providers reaching the agreement are the ones selected to deliver the application. Trading-off is a common market strategy when multiple decision variables can be traded-off against each other, such as paying a higher price to obtain an earlier delivery time of an application, or waiting for a longer time to obtain higher reliability, and so on. The proposed trade-off strategy relies on the possibility to exploit competition among agents providing services with the same functionality, and cooperation among agents providing services with different functionality necessary to meet the global QoS constraints of the required application. In fact, in QoS-based service composition, agents providing service with different QoS values compete to be selected, while agents providing services with different functionality cooperate to provide the QoS values that meet the required global QoS constraints of the application.

The remainder of this paper is organized as follows. In Sect. 2 an overview of related works on QoS-based service selection is reported. In Sect. 3 an overview of the problem addressed and the reference negotiation model is given. In Sect. 4, the proposed trade-off strategy to obtain Pareto-optimal agreements is presented, and its analytical properties supported by simulation results are described in Sect. 5. Section 6 reports the numerical experimentation carried out to show the efficiency and scalability of the proposed strategy in competitive contexts. Conclusions are reported in Sect. 7.

2 Related Works

QoS-aware service selection to meet the overall performance of a Service-Based Application is typically formalised as an optimization problem solved through integer programming techniques (Zeng et al. 2004), or mixed integer programming models, as in Ardagna and Pernici (2007). These methods are not applicable when the number of concrete services increases leading to an NP-hard problem. In these cases, heuristic approaches are used. In Chen et al. (2017) a genetic-based algorithm is proposed to select the best component services among the ones generated at each evolution and ranked according to the Compromise Ratio Method comparing the new solution generated with the top-K ranked solutions of the previous evolution. A genetic-based algorithm is proposed also in Mardukhi et al. (2013) to decompose end-to-end QoS constraints into a set of local constraints for the component services, while the local selection process relies on a search algorithm to select the best service for each local task.

However, these approaches do not consider the possibility for providers to change QoS values, as in a market-based service provision that is a more realistic scenario for business applications. In these settings, QoS-based negotiation approaches are usually adopted, as in the present work. Many negotiation-based approaches for service composition perform negotiation for each individual service, relying on bilateral negotiation mechanisms between a specific provider, selected according to some criteria, and a service requester (Paurobally et al. 2007; Siala and Ghedira 2011), without considering global QoS constraints. When negotiating to find QoS values for each service in a composition that satisfy end-to-end QoS requirements, the agreement for one service depends on the agreements of the others in the composition. An agreement has to be reached on an aggregation of QoS attributes values offered for the individual services. Hence, it is not possible to evaluate the offers for an individual service without considering the offers for the other components, making approaches based on independent bilateral negotiations not viable.

Other approaches use negotiation as a mechanism to dynamically select the appropriate service providers whose provided service best matches QoS requirements (Alrifai and Risse 2009), as in this work. But negotiation is carried out for each required service independently from the others. As before, these approaches are based on one-to-many concurrent and independent negotiations for each required component service. Attempts to propose a coordinated negotiation with all the providers of the different required services in a composition have been proposed, as in Yan et al. (2007), where a Negotiation Coordinator instructs the negotiation on the single component services by decomposing end-to-end QoS requirements in local QoS. Nevertheless, a decomposition approach prevents from deriving formal properties of the negotiation outcome since it is not possible to determine the most promising decomposition.

Other approaches propose automated auctions to select component services according to QoS values. An iterative multi-attribute combinatorial auction is proposed in He et al. (2014), where bidders are allowed to improve their bids round by round to find a satisfactory solution. At each round, the winner determination problem is solved as a constraint satisfaction problem, and then the solutions found are ranked according to an objective function. The solution with the optimal ranking value is the solution to the winner determination problem of the auction. In Wang et al. (2017) a dynamic pricing mechanism is proposed as an incentive to obtain truthful bidding from candidate services leading to a Bayesian Nash equilibrium that maximizes the utility of the composition of services.

With multi-dimensional QoS attributes, trade-off negotiation strategies can be used allowing a negotiator to generate a new proposal that enhances the opponent’s utility without reducing its own utility. In Wu et al. (2009) a trade-off strategy is proposed to reach a Pareto-optimal agreement for the allocation of a single resource among n agents. An end-to-end QoS constraint can be considered as a single resource to be allocated among n agents with incomplete information about others. Nevertheless, the proposed trade-off strategy cannot be applied in our negotiation scenario where there are not exactly n agents among which to distribute the global QoS constraints, but more agents competing for the allocation of the same service.

3 Negotiation Formalization

Negotiation on the QoS attributes values of different component services leads to a cooperative negotiation among the providers of different component services to reach an agreement, due to the interdependence among them to satisfy the end-to-end QoS requirement. On the other hand, in market-based scenarios, it is likely that there are more providers for the same service. Since only one provider for each component service has to be selected, a competitive negotiation occurs among them. Therefore, negotiation for end-to-end QoS-aware service composition is neither purely distributive nor purely integrative, but competition and cooperation coexist. The proposed trade-off negotiation strategy exploits both competition among service providers of the same component service, and also cooperation among service providers of the different component services required to deliver the application.

To simulate a more realistic market of services, service providers’ strategies and utility functions are considered private information, due to the market competitiveness, therefore negotiation takes place in an incomplete information setting (An et al. 2007), and without direct interaction among service providers. Since the providers’ strategies are not shared, it is not possible to foresee which providers are more promising during negotiation (An et al. 2011), so all service providers available for each requested service are involved throughout the negotiation process.

We model service providers as software agents responsible for the provision of service implementations, called Service Providers (SPs), that interact with the agent responsible for managing an SBA user request, called Service Compositor (SC) (Di Napoli 2009). A QoS-based Service Based Application request is specified by its abstract representation, named an Abstract Workflow (AW), and by the QoS attributes values required for the entire application. An Abstract Workflow is an acyclic oriented graph \(AW = (AS, P)\) in which each node, called an Abstract Service (AS), is a requested functionality, and each arc, called a Precedence (P), is the precedence relation, in terms of control and data dependencies, among two nodes. The precedence relations define their execution order according to basic composition patterns, such as sequential, conditional, loop, and parallel.

The Service Compositor and the Service Providers for each Abstract Service negotiate to find an agreement on the values of the component QoS attributes to obtain an aggregated value that meets the end-to-end QoS constraints. Only if an agreement is reached for each Abstract Service, the SBA can be delivered with the required QoS.

The adopted negotiation protocol for trading-off is based on the alternating offers protocol initiated by the Service Compositor requesting offers by the Service Providers available for each Abstract Service. The protocol is iterated until one offer for each required Abstract Service is accepted, or a negotiation deadline (T), representing the maximum number of allowed iterations, is reached. QoS attributes are assumed to be multidimensional, such as the execution time and the cost of each component service, and they are negotiated according to a package-deal procedure.

At each iteration, the Service Compositor issues an offer request for each Abstract Service in the composition to all Service Providers available, and it receives back the replies consisting of the offered QoS values. It evaluates the aggregated values of the received offers, and if QoS requirements are satisfied, there is an agreement and the negotiation ends successfully. Otherwise, if the deadline is reached without an agreement a failure is declared to all participants. An iteration, denoted with t, is called a negotiation round. If no agreement is reached at iteration t, and \(t + 1 \le T\), another negotiation round is performed.

Let’s consider an Abstract Workflow composed of \(n \ge 2\) Abstract Services, each one characterized by \(m \ge 1\) QoS attributes. For each Abstract Service there are \(k \ge 1\) distinct Service Providers. Without loss of generality, an acyclic Abstract Workflow with a sequential composition pattern is considered since it is always possible to reduce a generic workflow to a sequential one (Cardoso et al. 2004). The QoS attributes values are assumed to be normalized, i.e. each attribute is a value in the interval [0, 1] in \({\mathbb {R}}\). An offer for an Abstract Service with m QoS attributes, is defined as follows:

Definition 1

(Offer) At round t, an offer of a Service Provider \(SP_j\) providing a service implementation for the ith AS (\(AS_i\)) with m QoS attributes’ values, is a point \(\varvec{x}_{i,j}^t = (x^t_{i,j,1}, \dots , x^t_{i,j,m})\) within the unit hypercube.

At each round, the offers are collected by the Service Compositor and aggregated in packages of offers to be evaluated. A package of offers is defined as follows.

Definition 2

(Package of offers) At round t, a package of offers is a vector of n offers: \((\varvec{x}_1^t, \dots , \varvec{x}_n^t)\).

The notation \(\varvec{x}_i^t\) (with \(1 \le i \le n\)) denotes an offer for the ith Abstract Service when it is not needed to specify which SP proposed the offer.

For each attribute h (with \(1 \le h \le m\)) a global constraint \(C_h\) is required, representing the aggregated QoS value for all Abstract Services of the application. This value is assumed to be a real positive number. For example, considering as QoS attributes the cost and the execution time of each service, the global constraints represent the requirement that the total cost and the total execution time of the composition of services do not exceed given values.

A package of offers represents an agreement if and only if it meets all the end-to-end QoS constraints, as follows:

Definition 3

(Agreement) In case of additive QoS attributes, at round t a package of offers \((\varvec{x}_1^t, \dots , \varvec{x}_n^t)\) is an agreement if and only if

$$\begin{aligned} \sum _{i=1}^n x^t_{i,j,h} \le C_h,\quad \forall h \in \{1,\dots ,m\} \end{aligned}$$
(1)

Thus, the vector \(\varvec{C} = (C_1, \dots , C_m)\) represents an upper bound for the aggregated QoS attribute values for all ASs.

At each round, the SPs generate offers according to their own utility functions.

Definition 4

(Utility function) Let t be a round, \(AS_i\) the ith Abstract Service, and \(SP_j\) a Service Provider for \(AS_i\), the utility function of \(SP_j\) is:

$$\begin{aligned} u_j (\varvec{x}_{i,j}^t) = {\left\{ \begin{array}{ll} 0 & \text {if } t > T\\ 0 & \text {if } t = T \text { and Eq. }1\text { does not hold}\\ v_j(\varvec{x}_{i,j}^t) &{} \text {if } t \le T \text { and Eq. }1 \text { does hold} \end{array}\right. } \end{aligned}$$
(2)

where \(v_j(\varvec{x}_{i,j}^t)\) is an evaluation function.

Offers with the same utility value constitute the indifference curve of the Service Provider, defined as follows.

Definition 5

(Indifference curve) Let t be a round, \(AS_i\) the ith AS, and \(SP_j\) a provider for \(AS_i\), the indifference curve of \(SP_j\) during t is the set:

$$\begin{aligned} U_{i,j}^t = \left\{ \varvec{x}_{i,j}^t \in {\mathbb {R}}^m \text { | } u_j(\varvec{x}_{i,j}^t) = \rho \right\} \end{aligned}$$
(3)

where \(\rho \) is a constant utility value.

The considered indifferent curves are continuous and strictly convex functions typically used in microeconomics (Lai and Sycara 2009; Mas-Colell et al. 1995). An example a of strictly convex function is the Cobb Douglas one, defined as follows:

$$\begin{aligned} \gamma = \prod _{h=1}^m x_h^{\lambda _h} \text {, } \end{aligned}$$
(4)

where \(\gamma \) is a constant, m is the total number of attributes, \(x_h\) is the hth attribute, and \(\lambda _h\) is the exponent of \(x_h\). This means that when changing the value of an attribute \(x_h\), the others have to change accordingly to maintain constant their product. An example of a Cobb–Douglas function for two attributes is reported in Fig. 1 together with circles indicating offers with the same utility value, but different values for each attribute.

Fig. 1
figure 1

Cobb–Douglas utility function with bids

In the case of a successful negotiation, the SPs that provided the offers whose values combined with the others meet the QoS constraints, are the winners of the negotiation, and so the ones selected for providing the service at the agreed conditions. The selected SPs are assumed to commit to providing their services when the negotiation ends, so no penalty mechanism is considered.

4 The Proposed Trade-Off Strategy

In multi-issue bilateral negotiation, trade-off strategies are adopted to achieve a Pareto-optimal solution, if it exists. The Orthogonal Bidding Strategy (OBS) (Wu et al. 2009) is a trade-off strategy applied when n agents negotiate with each other for the distributed allocation of a resource. The OBS is based on the concept of reference point, calculated for each agent as a point that aggregates the proposals of all other \(n-1\) agents. The nth agent uses this reference point to compute a new offer on its indifference curve, as the one with the minimum Euclidean distance to the reference point. Negotiation proceeds by moving reference points as close to the available offers, until a Pareto solution is reached (or the negotiation ends) (Susetyo et al. 2013). The reference point represents the joint preference that the \(n-1\) agents have on the nth agent’s offer: the more this offer is close to the reference point, the more the \(n-1\) agents are satisfied. To find component services providing QoS values that aggregated satisfy end-to-end QoS constraints is similar to allocate a resource among n agents, by considering the multi-dimensional vector of QoS global constraints as the resource to be allocated. As n agents negotiate to get the allocation of a portion of the resource, service providers negotiate to be selected to provide a component service if they can provide the right portion of the required end-to-end QoS value. In the scenario of a market of services, the available providers have incomplete information about others (Di Napoli et al. 2015).

We consider only the trade-off phase of negotiation, and we propose a trade-off strategy that guarantees to achieve a Pareto-optimal agreement if it exists. We assume that no concessions on utilities are made since sellers in a market tend to avoid lowering their utility, while they are available to trade-off to increase their chance to win the negotiation. During trade-off, the utility level of each \(SP_j\) is private and it is fixed, i.e. \(U_{i,j}^s = U_{i,j}^t\), \(\forall s,t \le T\), \(\forall i\), and \(\forall j\), and each \(SP_j\) generates a new offer on its indifference curve.

In the OBS model, agents interact with each other directly, so they know the offers of the other agents. In our model, they negotiate with the Service Compositor in charge of evaluating the resulting package of offers. Since the Service Compositor collects all offers at each round, it computes the reference points, so it is not feasible for each SP to compute its own reference point as in Wu et al. (2009). In addition, since for each Abstract Service there is a set of SPs offering QoS values, a reference point is computed for all SPs of each Abstract Service, instead of a single SP. At this purpose, it is necessary to determine a representative offer for each Abstract Service to be used for computing the reference point.

The proposed trade-off strategy is composed of a two-step process: in the first one, the most promising offer for each Abstract Service is determined to compute the corresponding reference point; in the second one, offers for each Abstract Service are generated by the corresponding SPs engaged in the negotiation, referring to the reference point.

In our approach, reference points for each Abstract Service are calculated by the Service Compositor as a sort of counteroffers, based on the most promising offers selected at each round. The reference point of each Abstract Service is sent to all the corresponding SPs, and not only to the one that provided the most promising offer.

We defined two opposite criteria to determine the most promising offers, one for each Abstract Service, called respectively less-is-better and more-is-better. The first one is based on the intuition that the selection of offers with the lower possible values could, in principle, make it easier to obtain a composed solution that meets the global constraint (that is indeed an upper-bound), that is true in the case of a single-issue negotiation. The second one, called more-is-better is the opposite, and it is proposed to include all the possibilities to reach a Pareto-optimal solution.

Definition 6

(Less-is-better criterion) At round t, the best offer \(\check{\varvec{b}}^t_i\) for the ith AS is:

$$\begin{aligned} \check{\varvec{b}}^t_i = \mathop {\text {arg max}}\limits _{{\varvec{x}_{i,j}^t}} \left( \;\sum _{h=1}^m \frac{Q_{max}^t (i, h) - x^t_{i,j,h}}{Q_{max}^t (h) - Q_{min}^t (h)}\;\right) \end{aligned}$$
(5)

where \(\varvec{x}_{i,j}^t\) is the offer for the ith AS at round t proposed by an \(SP_j\), with each offer component \(x^t_{i,j,h}\) referring to the hth attribute, and:

$$\begin{aligned} Q_{max}^t (i,h)= & {} \max \limits _{{\varvec{x}_{i,j}^t}} \;(x^t_{i,j,h})\\ Q_{max}^t (h)= & {} \sum _{i=1}^n \max \limits _{{\varvec{x}_{i,j}^t}} \;(x^t_{i,j,h})\\ Q_{min}^t (h)= & {} \sum _{i=1}^n \min \limits _{{\varvec{x}_{i,j}^t}} \;(x^t_{i,j,h}) \end{aligned}$$

We use the notation \(\check{\varvec{b}}^t_i\) for the best offer for the ith Abstract Service when it is not needed to specify which \(SP_j\) proposed the offer. In general, we omit the j index when it is not necessary to specify the Service Provider.

At round t, the best package of offers according to the less-is-better criterion is the vector \(\check{\varvec{b}}^t = (\check{\varvec{b}}^t_1, \dots , \check{\varvec{b}}^t_n)\).

Definition 7

(More-is-better criterion) At round t, the best offer \(\hat{\varvec{b}}^t_i\) for the ith AS is:

$$\begin{aligned} \hat{\varvec{b}}^t_i = \mathop {\text {arg max}}\nolimits _{{\varvec{x}_{i,j}^t}} \left( \;\sum _{h=1}^m \frac{x^t_{i,j,h} - Q_{min}^t (i, h) }{Q_{max}^t (h) - Q_{min}^t (h)}\;\right) \end{aligned}$$
(6)

where \(\varvec{x}_{i,j}^t\) is the offer for the ith AS at round t proposed by an \(SP_j\), with each offer component \(x^t_{i,j,h}\) referring to the hth attribute, and:

$$\begin{aligned} Q_{min}^t (i,h)= & {} \min _{{\varvec{x}_{i,j}^t}} \;(x^t_{i,j,h})\\ Q_{min}^t (h)= & \sum _{i=1}^n \min _{{\varvec{x}_{i,j}^t}} \;(x^t_{i,j,h})\\ Q_{max}^t (h)= & \sum _{i=1}^n \max _{{\varvec{x}_{i,j}^t}} \;(x^t_{i,j,h}) \end{aligned}$$

At round t, the best package of offers according to the more-is-better criterion is the vector \(\hat{\varvec{b}}^t = (\hat{\varvec{b}}^t_1, \dots , \hat{\varvec{b}}^t_n)\).

The term, \(Q_{max}^t (i,h)\) (resp. \(Q_{min}\)) denotes the highest offer (resp. lowest) for the attribute h of the ith AS at round t, and \(Q_{max}^t (h)\) (resp. \(Q_{min}\)) denotes the sum of the highest offers (resp. lowest) for the attribute h of each AS at round t. The Eqs. 5 and 6 compute the best offer for the ith AS by evaluating the QoS attributes of the standing offers both locally, considering the single service (numerator), and globally, considering the whole composition (denominator), with the convention that if \(Q_{max}^t(h) = Q_{min}^t(h)\), then the denominator is 1.

More formally, for all ASs, from Eqs. 5 and 6 we have that all the selected offers \(\varvec{x}_i^t\) have at least one component (i.e., an attribute \(x_{i,h}^t\)) that satisfies the following inequalities:

$$\begin{aligned} \check{b}^t_{i,h} \le x_{i,h}^t \qquad or \qquad x_{i,h}^t \le \hat{b}^t_{i,h} \end{aligned}$$
(7)

This derives from the maximisation (respectively minimisation) of a simple additive weighting method for the selection of the best offers. In fact, if \(\forall h \quad x_{i,h}^t \ge \hat{b}^t_{i,h}\), then the more-is-better criterion would have selected it as the best offer. The same holds for less-is-better criterion.

A reference point is defined as follows:

Definition 8

(Reference point) At round t, the reference point for the set of Service Providers of an \(AS_i\) is:

$$\begin{aligned} \varvec{r}^t_i = \varvec{C} - \sum _{l\in N-\{i\}}^n \varvec{b}^t_l \end{aligned}$$
(8)

where \(\varvec{C}\) is the vector of global constraints on QoS attributes, where N is the set \(\{1,\dots ,n\}\), and \(\varvec{b}^t_l \in \left\{ \check{\varvec{b}}^t_l, \hat{\varvec{b}}^t_l \right\} \).

If we use \(\check{\varvec{b}}^t_l\) (resp. \(\hat{\varvec{b}}^t_l\)) in Eq. 8, we call \(\varvec{r}_i^t\) a less-is-better (resp. more-is-better) reference point. Consequently, we distinguish between less-is-better and more-is-better negotiations depending on the chosen criterion. The notation \(\varvec{b}^t\) is used when no criterion is specified.

Given a reference point for an \(AS_i\), the corresponding Service Providers generate their trade-off offers as follows.

Definition 9

(Trade-off offer) Let \(t > 1\) be a round, i an AS, and \(\varvec{r}_i^t\) the reference point for i, the offer of every \(SP_j\) at round t is the point on the indifference curve of \(SP_j\) with the minimum Euclidean distance from \(\varvec{r}_i^t\), i.e.,

$$\begin{aligned} \varvec{x}^t_{i,j} = P_{U_{i,j}^t}[\varvec{r}_i^t] = \mathop {\text {arg min}}\limits _{q \in U_{i,j}^t} \left\Vert q - \varvec{r}_i^t\right\Vert \end{aligned}$$
(9)

where \(P_{U_{i,j}^t}[\varvec{r}_i^t]\) is the Euclidean projection of \(\varvec{r}_i^t\) on \(U_{i,j}^t\), and \(\left\Vert \cdot \right\Vert \) is the Euclidean norm.

The previous definition implies that if \(\varvec{r}_i^t \in U_{i,j}^t\), then \(P_{U_{i,j}^t}[\varvec{r}_i^t] = \varvec{r}_i^t\). In other words, the projection of a point on the set \(U_{i,j}^t\) it belongs to, is the point itself. If \(\varvec{r}_i^t \notin U_{i,j}^t\), and \(U_{i,j}^t\) is a compact set with its boundary defined by a differentiable function, then \(P_{U_{i,j}^t}[\varvec{r}_i^t]\) lies on the boundary of the set \(U_{i,j}^t\), and the line joining \(\varvec{r}_i^t\) and \(P_{U_{i,j}^t}[\varvec{r}_i^t]\) is normal to \(U_{i,j}^t\). In other words, \(P_{U_{i,j}^t}[\varvec{r}_i^t]\) is the foot of the perpendicular from \(\varvec{r}_i^t\) to the boundary of \(U_{i,j}^t\) (Zheng et al. 2016).

5 Analytical Properties of the Proposed Strategy

We will now investigate the two obtained criteria from an analytic point of view, to determine which one allows to reach a Pareto-optimal agreement.

To describe the process to reach an agreement, we first give the following definition.

Definition 10

(Remaining values) At round t, the vector of remaining attributes is:

$$\begin{aligned} \varvec{R}^t = \varvec{C} - \sum _{l=1}^n \varvec{b}_l^t \end{aligned}$$
(10)

where \(\varvec{C}\) is the vector of global constraints on the QoS attributes, and \(\varvec{b}^t_l \in \left\{ \check{\varvec{b}}^t_l, \hat{\varvec{b}}^t_l \right\} \).

If \(\varvec{R}^t\) has at least one negative component, then the agreement condition of Eq. 1 is not satisfied at round t. Hence, \(\left\Vert \varvec{R}^t\right\Vert \) is a measure of how close the negotiation is to an agreement. In fact, when reference points and best offers join, or equivalently when \(\left\Vert \varvec{R}^t\right\Vert \) tends to 0 because \(\varvec{R}^t\) converges to the origin of \({\mathbb {R}}^m\), then \(\varvec{b}^t\) is an agreement. Based on these considerations, we demonstrate the following theorems.

Theorem 1

At round t, if for each \(AS_i\) the less-is-better reference point Pareto-dominates every offer \(\Rightarrow \) \(\check{\varvec{b}}^t\) is an agreement.

Proof

By hypothesis, \(\forall j\), \(\forall h\), \(r_{i,h}^t \ge x_{i,j,h}^t\). Let’s suppose by contradiction that \(\check{\varvec{b}}^t\) is not an agreement. Then, there is at least one attribute for which the following inequality holds:

$$\begin{aligned} \sum _{l \in N} \check{b}_{l,h}^t = \check{b}_{i,h}^t + \sum _{l \in N-\{i\}} \check{b}_{l,h}^t> C_h \rightarrow \check{b}_{i,h}^t > C_h - \sum _{l \in N-\{i\}} \check{b}_{l,h}^t {{\mathop {=}\limits ^{\text {def. }8}}} r_{i,h}^t \end{aligned}$$

From Definition 8, \(\check{b}_{i,h}^t > r_{i,h}^t\), so there is a combination of offers \(\check{b}_{i,h}^t\) that dominates the reference point. This contradicts the hypothesis (\(r_{i,h}^t \ge x_{i,j,h}^t\)) and so the assumption that \(\check{\varvec{b}}^t\) is not an agreement is wrong. \(\square \)

It should be noted that if \(\check{\varvec{b}}^t\) is an agreement, it is possible that the reference point computed using the less-is-better criterion does not Pareto-dominate each offer. This is shown in Fig. 2 where the offers evolution for a negotiation with 2 ASs, each one provided by 3 SPs using Cobb–Douglas indifference curves, and 2 QoS attributes with global constraints \(\varvec{C} = (0.8, 0.8)\) is reported. In particular, at every round, the reference point for \(AS_1\) does not Pareto-dominate the offer of \(SP_2\) since all reference points calculated for \(AS_1\) lie below \(SP_2\)’s curve. On the contrary, in Fig. 3, reporting the offers evolution with the same negotiation settings but using the more-is-better criterion, the last reference point lies on \(SP_2\)’s curve in the final round. In fact, with the more-is-better criterion, the following theorem can be proved.

Fig. 2
figure 2

Offers evolution for less-is-better negotiation

Fig. 3
figure 3

Offers evolution for more-is-better negotiation

Theorem 2

At round t, \(\hat{\varvec{b}}^t\) is an agreement \(\Leftrightarrow \) for each \(AS_i\), the more-is-better reference point Pareto-dominates every offer \(\varvec{x}_{i,j}^t\), that is \(\forall j\) and \(\forall h\), \(r_{i,h}^t \ge x_{i,j,h}^t\).

Proof

(\(\Rightarrow \)) Let’s suppose that there is an offer \(\varvec{x}_j^t\) for an \(AS_i\) that is not Pareto-dominated by the ith more-is-better reference point, that is \(r_{i,h}^t < x_{i,j,h}^t\), \(\forall h\). Then:

$$\begin{aligned} r_{i,h}^t {{\mathop {=}\limits ^{\text {def. }}}} C_h - \sum _{l \in N - \{i\}} \hat{b}_{l,h}^t< x_{i,j,h}^t \rightarrow C_h < x_{i,j,h}^t + \sum _{l \in N - \{i\}} \hat{b}_{l,h}^t \end{aligned}$$
(11)

Since \(\hat{\varvec{b}}^t\) is an agreement, then:

$$\begin{aligned} \sum _{l \in N} \hat{b}_{l,h}^t = \hat{b}^t_{i,h} + \sum _{l \in N - \{i\}} \hat{b}_{l,h}^t \le C_h \end{aligned}$$
(12)

From Eqs. 11 and 12 it follows that:

$$\begin{aligned} \hat{b}^t_{i,h} + \sum _{l \in N - \{i\}} \hat{b}_{l,h}^t< x_{i,j,h}^t + \sum _{l \in N - \{i\}} \hat{b}_{l,h}^t \rightarrow \hat{b}_{i,h}^t < x^t_{i,j,h} \quad \forall h \end{aligned}$$
(13)

which contradicts Eq. 7.

(\(\Leftarrow \)) The proof is the same as Theorem 1 since it does not rely on the different formal definitions of \(\check{\varvec{b}}^t\) and \(\hat{\varvec{b}}^t\). \(\square \)

Thus, the double implication of Theorem 2 holds only when the more-is-better criterion is adopted. Since the theorem is a requirement to demonstrate the Pareto-optimality of an agreement, only the more-is-better criterion is considered.

5.1 Pareto-Optimality

Any convergence of \(\varvec{R}^t\) to the origin of \({\mathbb {R}}^m\) does not necessarily imply the achievement of a Pareto-optimal agreement, because it may still be possible for some SP to trade-off and to get a Pareto improvement. In fact, as shown in the example reported in Fig. 4, the reference point converges to the best offer, but unlike Figs. 2 and 3, the convergence trajectory is above every indifference curve. Since the curves are strictly convex, any point (i.e. an offer) above \(SP_3\)’s curve of Fig. 4 has greater utility for \(SP_3\) than the one on its curve.

Let’s define the conditions for which Pareto improvements are not possible from a geometrical point of view.

Fig. 4
figure 4

Offers evolution for more-is-better negotiation with low utility levels w.r.t. global constraints

Given a round t, and an \(AS_i\), the notation \(p[\varvec{b}_i^t]\) indicates the service provider offering \(\varvec{b}_i^t\). \(\mu [\varvec{b}_i^t]\) is the utility value of its indifference curve, and \(U[\varvec{b}_i^t]\) the set of points composing it.

Definition 11

(Agreement area) Given a round t and an \(AS_i\), the agreement area for \(AS_i\) is the following set:

$$\begin{aligned} X_i^t = \left\{ \varvec{x}_i^t \text { | } \forall l \ne i \text { } \exists \varvec{x}_l^t \text { : } v_{p[\varvec{b}_l^t]}(\varvec{x}_l^t) \ge \mu [\varvec{b}_l^t] \ \wedge \ \forall h \quad x_{i,h}^t + \sum _{l \ne i} x_{l,h}^t \le C_h \right\} \end{aligned}$$
(14)

This means that any offer for \(AS_i\) in the agreement area \(X_i^t\) allows to reach an agreement with a utility value that is at least as good as the utility of the most promising offer.

From the Theorem 2, if \(\hat{\varvec{b}}^t\) is an agreement, then each reference point Pareto-dominates all the offers for the \(AS_i\). It follows that \(X_i^t\) is a set whose Pareto-frontier contains the more-is-better reference points for \(AS_i\). From Definitions 4 (utility function) and 8 (reference point), \(\varvec{r}_i^t\) is the complement of \(\sum _{l \in N - \{i\}} \varvec{b}_l^t\) with respect to \(\varvec{C}\), and every \(\varvec{b}_l^t\) belongs to strictly convex sets. Hence, the points in \(X_i^t\) constitute a strictly concave set since the sum of convex functions is still a convex function.

In the following theorems, we assume for simplicity that the number m of QoS attributes is 2.

Theorem 3

Given a round \(t \le T\) and an \(AS_i\), \(|X_i^t \cap U[\varvec{b}_i^t]| > 1\) \(\Leftrightarrow \) an agreement \(\varvec{x}^t = (\varvec{x}_1^t, \dots , \varvec{x}_n^t)\) exists such that \(u_{p[\varvec{b}_i^t]}(\varvec{x}_i^t) > \mu [\varvec{b}_i^t]\).

Proof

(\(\Rightarrow \)) According to the hypothesis, we have that \(|X_i^t \cap U[\varvec{b}_i^t]| > 1\). Let \(\varvec{y}_i \ne \varvec{z}_i\) be two different points in \(X_i^t \cap U[\varvec{b}_i^t]\). Let \(\varvec{x}_i\) be a convex combination of \(\varvec{y}_i\) and \(\varvec{z}_i\). Since the indifference curve \(U[\varvec{b}_i^t]\) is strictly convex, \(\varvec{x}_i\) is on its right side, and so \(v_{p[\varvec{b}_i^t]}(\varvec{x}_i) > \mu [\varvec{b}_i^t]\). Moreover, since \(X_i^t \cap U[\varvec{b}_i^t]\) is a convex subset of \(X_i^t\), then \(\varvec{x}_i \in X_i^t\), and so an agreement \(\varvec{x}^t\) exists such that \(\varvec{x}_i \in \varvec{x}^t\) and \(u_{p[\varvec{b}_i^t]}(\varvec{x}_i, t) = v_{p[\varvec{b}_i^t]}(\varvec{x}_i^t) > \mu [\varvec{b}_i^t]\).

(\(\Leftarrow \)) According to the hypothesis, an agreement \(\varvec{x}^t\) exists, with \(\varvec{x}_i^t \in \varvec{x}^t\) and \(u_{p[\varvec{b}_i^t]}(\varvec{x}_i^t) = v_{p[\varvec{b}_i^t]}(\varvec{x}_i^t) > \mu [\varvec{b}_i^t]\). Let \(\varvec{y}_i = (y_{i,1}, y_{i,2})\) be a point with utility value \(\mu [\varvec{b}_i^t]\) such that \(y_{i,1} = x_{i,1}\), and \(\varvec{z}_i = (z_{i,1}, z_{i,2})\) the point with utility value \(\mu [\varvec{b}_i^t]\) such that \(z_{i,2} = x_{i,2}\). Both points exist because the utility is a continuous function. Moreover, they belong to \(X_i^t\) since \(y_{i,2} \le x_{i,2}\), \(z_{i,1} \le x_{i,1}\) and the utility function is increasing monotonic with respect to each attribute because it is strictly convex. Hence, \(X_i^t \cap U[\varvec{b}_i^t]\) includes these two points. \(\square \)

Fig. 5
figure 5

Examples of agreements area for an \(AS_i\) with 2 QoS attributes

In Fig. 5 the two implications of Theorem 3 are described. On the left, it is shown that if the intersection of the agreement area with the indifference curve is greater than 1 (i.e., \(\varvec{y}_i\), \(\varvec{z}_i \in X_i^t\)), then there is a point \(\varvec{x}_i\) leading to an agreement with \(u_{p[\varvec{b}_i^t]}(\varvec{x}_i, t) > \mu [\varvec{b}_i^t]\). On the right, it is shown that if there is a point \(\varvec{x}_i\) of an agreement such that \(u_{p[\varvec{b}_i^t]}(\varvec{x}_i, t) > \mu [\varvec{b}_i^t]\), then the agreement area intersects the indifference curve in more than one point.

If \(X_i^t \cap U[\varvec{b}_i^t] = 0\), it is not possible to reach an agreement with the considered utility indifference curves. Hence, if the indifference curve and the agreement area, for each \(AS_i\), intersect only in one point, the agreement including the intersection point is Pareto-optimal.

Lemma 1

Given a round \(t \le T\), and an \(AS_i\), \(|X_i^t \cap U[\varvec{b}_i^t]| = 1\) \(\Leftrightarrow \) a Pareto-optimal agreement exists \(\varvec{x}^t = (\varvec{x}_1^t, \dots , \varvec{x}_n^t)\) such that \(u_{p[\varvec{b}_i^t]}(\varvec{x}_i^t) = \mu [\varvec{b}_i^t]\).

Proof

(\(\Rightarrow \)) According to the hypothesis, \(|X_i^t \cap U[\varvec{b}_i^t]| = 1\), hence only one agreement exists, and it is Pareto-optimal.

(\(\Leftarrow \)) Let’s suppose that a Pareto-optimal \(\varvec{x}^t = (\varvec{x}_1^t, \dots , \varvec{x}_n^t)\) agreement exists such that \(u_{p[\varvec{b}_i^t]}(\varvec{x}_i, t) = \mu [\varvec{b}_i^t]\). Let’s suppose, by contradiction, that for an \(AS_i\) \(|X_i^t \cap U[\varvec{b}_i^t]| \ne 1\). If \(|X_i^t \cap U[\varvec{b}_i^t]| = 0\), it is not possible to obtain an agreement with the current utility indifference curves. If \(|X_i^t \cap U[\varvec{b}_i^t]| > 1\), from Theorem  3 derives that other solutions with a better utility may exist. Hence, \(\varvec{x}^t\) is not a Pareto-optimal agreement. \(\square \)

Concluding, in the trade-off phase, a set of offers is a Pareto-optimal agreement if and only if once an offer is selected for the agreement, the intersection of its utility indifference curve with respect to the agreement area is unique. Obviously, this does not mean that there is only one Pareto-optimal agreement since different Service Providers proposing offers for the same \(AS_i\) could have the utility indifference curves with this property, so different Pareto-optimal agreements may exist. From Theorem 2 and Lemma 1, if at round t a Pareto-optimal agreement exists, the agreement is \(\varvec{r}^t = \hat{\varvec{b}}^t\).

6 Experimental Results

Simulation experiments aimed at validating the assumptions of our model are carried out. First, we analyze if the market competitiveness due to negotiating with all available service providers allows to obtain Pareto-optimal solutions. In addition, we analyze the scalability of the strategy in terms of the number of rounds to reach an agreement when increasing the number of Service Providers.

In all tests the following settings are used:

  • number of QoS attributes \(m = 2\);

  • maximum number of rounds \(T = 250\);

  • number of Abstract Services n between 2 and 9;

  • number of Service Providers \(k \in \left\{ 2,4,6,8\right\} \);

  • each global constraint is between 0.5 and 1;

  • each SP has a Cobb–Douglas indifference curve (\(\gamma = x_1^{\alpha } x_2^{\beta }\)) with the following parameters: \(\alpha , \beta \in (0.2, 1)\), \(\gamma \in (5, 7.5)\), \(u \in (0.6, 1)\);

  • each SP always proposes as first offer a random point on its indifference curve.

The values of the indifference curves’ parameters are chosen so that their points are in \([0, 1]^2\) for normalization. For each experimental setting, 100 distinct tests are executed.

6.1 Competitiveness

For each considered setting, the following 3 test cases were executed:

  1. 1.

    Global: consisting in negotiating with all available Service Providers;

  2. 2.

    First round best: consisting in negotiating with only the most promising Service Providers for each AS selected at the first round, that is \(p[\varvec{b}^1] = (p[\varvec{b}^1_1], \dots ,\) \(p[\varvec{b}^1_n])\);

  3. 3.

    Last round best: consisting in negotiating with only the Service Providers that resulted to be the winners of the Global case, that is \(\varvec{w} = (p[\varvec{b}^T_1], \dots ,\) \(p[\varvec{b}^T_n])\).

Obviously, in the last two cases, no competition among Service Providers of the same Abstract Service occurs. The Global negotiation is used as baseline since it is always successful (a Pareto-optimal agreement is found).

For each considered test case, the numbers of rounds required for reaching the first agreement (also not Pareto), the first near Pareto-optimal agreement (NPA), and the Pareto-optimal agreement (PA) are reported. An NPA is an agreement with the following conditions: \(\varvec{R}^s \le \varvec{R}^t, \forall s \le t\), e \(\varvec{R}^t = -0.01\).

Fig. 6
figure 6

Number of rounds to reach agreement in the considered test cases

In Fig. 6 each column accounts for a specific configuration setting while the rows represent the three considered test cases. Diagonal cases represent the best results in terms of the obtained Pareto-optimal agreement with respect to the number of rounds, for which the norm of the vector of remaining attributes \(\left\Vert \varvec{R}^t\right\Vert = \left\Vert \varvec{C} - \sum _{i \in N} \varvec{b}_i^t\right\Vert \) and the distance between reference points and best offers \(\sum _{i \in N} {\left\Vert \varvec{r}_i^t - \varvec{b}_i^t\right\Vert }\) converge to 0 in fewer rounds.

In Table 1, we show the number of rounds necessary to reach Near Pareto Agreement (NPA) and Pareto Agreement (PA) for each case of Fig. 6. The results show that there are cases in which the First-round best is faster than Global (e.g., the second column where First-round best reach a PA agreement in 10 rounds while Global in 13), and cases in which it is significantly slower (e.g., the third column where First-round best reach a PA agreement in 233 rounds while Global in 16). Indeed, in the First-round best there are cases not convergent/oscillating behavior of the reference points. Figure 7 shows that for a configuration with 3 Abstract Services and 4 Service Providers, Global converges to the NPA in 3 rounds and to the PA in 23 rounds, while both First round best and Last round best do not converge to 0. Figure 8 reports the negotiation trends of the previously considered case. The columns represent the test cases, while the rows represent the 3 Abstract Services. Note that, in the case of First-round best and Last round best the Service Providers selected for the negotiation are different. In addition, as previously shown, their offers do not converge to a Pareto-optimal agreement.

Table 1 Number of rounds for reaching NPA and PA in the considered test cases
Fig. 7
figure 7

Example of not convergence to zero in non-competitive cases

Fig. 8
figure 8

Negotiations for the example of Fig. 7

In conclusion, while choosing to negotiate only with 1 Service Provider for each AS reduces the negotiation space, the convergence to the optimal agreement is not guaranteed even when the selected SP is more promising. In particular cases, negotiating with only 1 SP could lead to better performances, but, in general, some regions in the negotiation space where there is a Pareto-optimal agreement could be excluded. In other words, eliminating SPs which could become more competitive during the negotiation might invalidate the Pareto-optimality conditions.

6.2 Scalability

We run some tests with an increasing number of AS and SP to evaluate their impact on the number of rounds to reach an agreement. For every (nk) combination, we calculated the mean and standard deviation of the rounds necessary for reaching NPAs and PAs. Figure 9 shows the obtained results.

Fig. 9
figure 9

Scalability of NPAs and PAs

Results show that, for the considered cases, the average number of rounds to reach both NPAs and PAs seems to be influenced more by the number of SPs for each AS, than by the number of ASs. In any case, no negotiation required more than 7 rounds for an NPA, and 80 for a PA. This is an encouraging result since the proposed strategy may be adopted in the case of more complex (i.e., with more ASs) abstract workflows. Finally, experiments show that for \(n \in [6,8]\), PA and NPA are obtained in the same number of rounds. This will be further investigated in future works to evaluate results with more SPs.

7 Conclusions and Future Work

Automated negotiation proved to be a viable approach allowing a service consumer to dynamically negotiate with service providers to reach agreements on end-to-end QoS constraints that have to be met by the aggregation of the QoS values of component services. The providers reaching the agreement are selected for the composition of services with required QoS values. The negotiation involves two aspects: one aspect is the negotiation between the service consumer and one or more service providers for a single service in the composition; the other aspect is the coordination of the negotiation for the different services in the composition to ensure end-to-end QoS values. Services are characterized by multiple QoS attributes, so the negotiation is multi-agent and multi-issue. For this type of negotiation, it is more difficult to derive formal properties, and to determine the Pareto-optimality of its solutions.

In this work, we propose a trade-off strategy that extends the orthogonal bidding strategy presented in Wu et al. (2009) to include the possibility to negotiate QoS values with all providers for the same service required in the composition and not with only one provider for each component service. By doing so, the proposed strategy exploits the competition among the providers of the same service. At each negotiation round, the most promising offers for each component service are selected among the available ones, and they are used to compute a reference point for each set of providers for the same service. This point represents the most satisfying offer for that service, and it is used as a reference to generate offers by all providers of that service.

In multi-issue negotiation between two rational agents, there is a trade-off between the quality of the agreement reached and the amount of information revealed. In this work, we showed that the possibility to exploit both competition and cooperation allows us to obtain Pareto-optimal agreements also when no information is shared among providers, as in the case of a market oriented QoS-based service composition. Cooperation between providers of different services is exploited by pushing the providers of each service of the composition to offer QoS values that are more beneficial for the providers of the remaining component services, while maintaining the same utility. Competition between providers of the same service is exploited by including all of them throughout the negotiation process, so the providers which might become more satisfying for the customer, as the negotiation proceeds, are not discarded.

The two criteria proposed to determine the set of most promising offers differ from each other because the less-is-better privileges the lowest aggregation of QoS attributes, while the more-is-better privileges the highest one. We showed that only by using the more-is-better criterion, so privileging the offer that outperforms the others, it is possible to formally characterize the conditions of agreement and Pareto-optimality. With the less-is-better criterion, it is possible to find solutions more quickly than with the more-is-better one, and they may also be Pareto-optimal in some cases. However, in some cases, an oscillating behaviour of the offers is possible so the Pareto-optimality is not guaranteed.

Lastly, we provided experiments that indicate the robustness and scalability of the proposed strategy by varying the number of Service Providers, and of Abstract Services.

We plan to extend this work by considering also not additive QoS attributes. This means that the agreement conditions have to be redefined and, consequently, a new criterion for defining the most promising offers needs to be identified. So, the agreement and the Pareto-optimality conditions will have to be demonstrated again.