Expert Systems with Applications 41 (2014) 4743–4751
Contents lists available at ScienceDirect
Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa
A game-theoretic approach for the web services scheduling problem W. Fontanini a, P.A.V. Ferreira b,⇑ a b
Center for Information Technology ‘‘Renato Archer’’, Rodovia Dom Pedro I (SP 65, Km 143.6), 13069-901 Campinas, SP, Brazil State University of Campinas, Faculty of Electrical and Computer Engineering, Av. Albert Einstein, 400, 13082-852 Campinas, SP, Brazil
a r t i c l e
i n f o
Keywords: E-commerce Scheduling Integer programming Multiobjective programming Game theory
a b s t r a c t We address the design of an Internet-based business process composed of several web services by using multiobjective optimization and game-theoretic methods. Adopting a suitable representation for the business process, we present a mathematical optimization problem which considers several quality-ofservice objectives: cost, execution time, reliability, availability and reputation. The web service scheduling problem is formulated as a multiobjective mixed-integer linear optimization problem and solved through a goal optimization method. The optimal solution of the scheduling problem assigns suppliers to all the tasks that comprise the business process, thus establishing the revenues – utilities – of all the suppliers. We then model the interaction between the suppliers as an incomplete information (Bayesian) game: the structure of the game is common knowledge of all the suppliers, but each supplier knows only his/her own utility function. A characterization of the Bayes–Nash equilibria of the game is provided. The paper includes numerical examples. Ó 2014 Elsevier Ltd. All rights reserved.
1. Introduction A typical Internet-based business can be thought as composed of several web services to be supplied by partners with basis in Internet technologies. The web service scheduling problem attracted considerable interest in the last decade (Ardagna & Pernici, 2006; Fan, Fang, & Jiang, 2011; Liang & Huang, 2009; Parejo, Segura, Fernandez, & Ruiz-Cortés, 2014; Rodriguez-Mier, Mucientes, Vidal, & Lama, 2012; Zeng et al., 2004). Nowadays, web service technologies support applications in finance (Chen, Zhou, & Zhang, 2006), manufacturing (Tao, Zhao, Hu, & Zhou, 2010), supply chain (Smeureanu, Ruxanda, Diosteanu, Delcea, & Cotfas, 2012) and cloud computing (Qi, Dou, Zhang, & Chen, 2012), among others. A composite web service system may be structured in terms of the following components (Zeng et al., 2004): a set of web services; a service broker, which allows web suppliers to describe their services – capabilities and quality-of-service (QoS) attributes – in a UDDI (Universal Description, Discovery and Integration) registry; a service manager, made up of an execution planner, which, by using information (candidate web suppliers) retrieved from the service broker, assigns web suppliers to tasks of the composite web service, and of an execution engine, which coordinates the system ⇑ Corresponding author at: State University of Campinas, Faculty of Electrical and Computer Engineering, Av. Albert Einstein, 400, 13082-852 Campinas, SP, Brazil. Tel.: +55 1935213758; fax: +55 1935213866. E-mail addresses:
[email protected] (W. Fontanini),
[email protected]. unicamp.br (P.A.V. Ferreira). http://dx.doi.org/10.1016/j.eswa.2014.02.016 0957-4174/Ó 2014 Elsevier Ltd. All rights reserved.
components to execute, at runtime, an instance of the composite web service. The composite web service associated to a generic business process is specified as a collection of tasks with control-flow and data-flow dependencies. The present paper focuses on the business process scheduling problem faced by the execution planner, understood as the problem of assigning suppliers to tasks guided by constraints and preferences formulated in terms of QoS attributes, as execution time, cost, service reputation, reliability and availability of the service. Dependencies between tasks are represented in the Business Process Modelling Notation (BPMN) (Chinosi & Trombetta, 2012), and then as a directed graph, more convenient for mathematical modeling and computational purposes. An efficient resolution of the web service scheduling problem has a huge impact on global performance of the business process. An efficient execution plan guarantees that the constraints and preferences of the users are taking into account, which is the most important factor to ensure costumer satisfaction. By efficiency we mean an optimized use of the available resources subject to constraints and preferences. As the number of alternatives (web services and their QoS attributes) for the composite service can be very large, different approches for solving the web service scheduling problem have been proposed. The literature on web service composition distinguishes between local and global approaches (Strunk, 2010). The former assigns the best candidate service that supports the execution of the running task; the latter determines the best set of candidate
4744
W. Fontanini, P.A.V. Ferreira / Expert Systems with Applications 41 (2014) 4743–4751
services that supports the execution of the composite web service. Best candidates, at local and global level, are selected considering QoS attributes. It is generally admitted that local approaches do not effectively integrate QoS specifications – the execution time of the composite service may be limited to a given value, or the total cost may not be allowed to exceed a prescribed budget – and the preferences of the business designer. On the other hand, global approaches, as the ones proposed in this paper, are more demanding in terms of computational infrastructure. A mathematical programming framework for the web service scheduling problem was proposed in Zeng et al. (2004) and refined in Ardagna and Pernici (2006). The service composition problem is modeled as a multiobjective mixed-integer linear optimization problem, which is then solved by exact methods of Integer Programming (Wolsey, 1998). However, as the service scheduling problem is, regardless the mathematical model (linear or nonlinear) adopted, a difficult combinatorial problem, solutions based on exact methods eventually become impractical for instances with large numbers of web services or composite tasks. This computational aspect of the problem has motivated the proposition of a number of metaheuristic approaches, as Genetic Algorithms, Simulated Annealing, Tabu Search, GRASP and Path Relinking (Gendreau & Potvin, 2010). Bio-inspired algorithms are surveyed in Wang, Shen, and Yong (2012). The use of Genetic Algorithms was proposed in Canfora, Penta, Esposito, and Villani (2005), and subsequently improved by several authors in the way of encoding information and handling population diversity (Gao, Cai, & Chen, 2007; Ma & Zang, 2008; Su, Ma, Guo, & Sun, 2014; Wada, Suzuki, Yamano, & Oba, 2012). The use of Simulated Annealing was proposed in Wang, Tong, Thompson, and Li (2007). Algorithms which combine Simulated Annealing with Tabu Search and with Particle Swarm Optimization (Kennedy & Eberhart, 1995) are proposed in Ko, Kim, and Kwon (2008) and Fan et al. (2011), respectively. Particle Swarm Optimization is also used in Fan (2013) for approximating Pareto-optimal execution plans in multiobjective service composition problems. The use of GRASP has been recently applied to the problem of determining the adaptations that minimize the total cost incurred by the violation of service level agreements (Leitner, Hummer, & Dustdar, 2013). Finally, Parejo et al. (2014) combines GRASP with Path Relinking for composing web services at runtime. When focused on the business process point of view, the literature shows a progressive emphasis in modeling the competitive relationship between web service suppliers by using concepts and methods of Game Theory (Shoham & Leyton-Brown, 2009). Sun et al. (2006) considers coalitions formed by web suppliers and consumers, and proposes a Core-based solution to regulate the market; Shen and Fan (2007) addresses time-sensitive services and proposes a cooperative mixed-strategy approach to reach an equilibrium point of the noncooperative game played by the users of the service; Li (2011) develops a mathematical model for describing the conflict between concurrent tasks and their impact on the performance of the composite service. The proposed algorithm, which reaches a Nash equilibrium in terms of task utilities, is applied in Li, Zhu, Yang, and Xu (2012) to a remote sensing service composition problem; Khosravifar et al. (2013) presents a two-player game-theoretic model in which an individual web service (player 1) can either act alone or cooperate with a community of web services (player 2). The authors investigate the conditions under which the utilities of the players are maximized. An analysis of the literature on web service scheduling reveals that the global approches that model QoS attributes as multiple objectives to be optimized either develop a search for the whole set of Pareto-optimal execution plans (as in Wada et al. (2012)
and Fan (2013)), without specifying an actual execution plan, or aggregates the objectives in a presumed utility function. On the business process side, an approach that integrates game theoretic and multiobjective optimization scheduling models seems to be needed. With the present paper we aim at advancing the current stateof-art in methodologies for web service composition with two innovations: (i) Following the mathematical programming framework introduced by Zeng et al. (2004) and Ardagna and Pernici (2006), we formulate the web service scheduling problem as a multiobjective mixed-integer linear optimization problem (Collette & Siarry, 2011; Wolsey, 1998). However, instead of aggregating objectives (minimize execution time and cost, maximize reputation, reliability and availability) into a presumed utility function, we propose a goal programming approach. By using this approach, preferences about the objectives are expressed in terms of goals to be pursued and suppliers are assigned to tasks in order to minimize the deviations from these goals. The optimal solution of the scheduling problem assigns suppliers to all the tasks that comprise the composite service, thus establishing the revenues (utilities) of all the suppliers; (ii) The interaction between the suppliers is modeled as a noncooperative, incomplete information (Bayesian) game (Shoham & Leyton-Brown, 2009). The structure of the game is common knowledge of all the suppliers, but each supplier knows only his/her own utility (revenue) function. The Bayes–Nash equilibria of this game establish the strategies (in terms of expected utilities) that the suppliers should adopt while competing for the tasks of the composite service. The characterization of the Bayes–Nash equilibria of any game is a fundamental step towards more refined models for the interaction between players, particularly in the Mechanism Design domain (Narahari, Garg, Narayanam, & Prakash, 2009). We solve every single objective optimization problem that results from the goal programming formulation using the mixedinteger (exact, branch-and-cut) optimization routine of the GLPK package (Gnu Project, 2012), a very efficient routine for small and medium scale instances. Large scale instances may require the use of metaheuristics. The Nash equilibria of the normal form game induced by the Bayesian game between web service suppliers are obtained using the vertex enumeration algorithm presented in Avis, Rosenberg, Savani, and von Stengel (2010). The paper includes simulation results obtained through the utilization of the modeling approaches proposed. The paper is organized as follows. In Section 2 (Methods) we outline the mathematical model of the web services scheduling problem, detail the composite web service objectives and constraints, formulate the problem within a goal programming framework, and model the interaction between web suppliers as a non-cooperative, incomplete information (Bayesian) game. In Section 3 (Results and discussion), the effectiveness of the goal programming and game theoretic approaches are numerically investigated through simulation. In Section 4 (Related work) we compare our contributions to some alternative approaches. Conclusions and future research directions are presented in Section 5.
2. Methods Business processes can be represented by using the Business Process Management Notation (Chinosi & Trombetta, 2012). Some
4745
W. Fontanini, P.A.V. Ferreira / Expert Systems with Applications 41 (2014) 4743–4751
elementary symbols used in BPMN are described in Fig. 1. As an illustrative example, consider the composite web service called Travel Planner, which aggregates several composite services, such as flight booking, travel insurance, hotel room booking, car or biking rental, and route planning. Among these, there are web services that can be executed sequentially and concurrently. A simplified process diagram specifying the Travel Planner composite webservice is presented in Fig. 2. The user must input the destination (with departure and return dates) into the Travel Planner system, which then uses these informations to determine which flights are available. The next step involves choosing a hotel with available rooms. Lists with tourist sites can be provided to help in a typical travel preferences assessment. These are the most important functionalities of the Travel Planner system. A business process can be represented as a task graph, a terminology adopted in Sinnen (2007), more convenient for describing optimization problems. Since a business representation may contain IF–THEN–ELSE constructs, a possibility is to generate two separate task graphs with specific execution frequencies. An execution path can include parallel activities, but not activities in THEN and ELSE branches simultaneously. The conversion rules adopted in this article are as follows. Firstly, if the original BPMN diagram contains gateway decisions, then a pre-processing program – a Java program that converts the BPMN diagram into a task graph – generates two graphs, one for the THEN branch and the other for the ELSE branch. Secondly, the pool and lane elements (or the horizontal parallel bars used for tasks synchronization) are not represented graphically because a depth search can find all the execution paths. Thirdly, the activity, begin and end elements are represented as nodes of the task graph. The graph elements are then converted into a mathematical optimization model. One concept not included in the BPMN standards is of execution frequency. When a gateway gives rise to THEN and ELSE elements, it is necessary to generate a real number between 0 and 1 associated with the relative frequency of the execution of that element. In practical implementations, the execution frequencies are obtained from recorded data. In Zeng, Benatallah, Dumas, Kalagnanam, and Sheng (2003), Zeng et al. (2004) and Ardagna and Pernici (2006), five objectives based on QoS attributes are proposed for elementary services, and then applied to composite services. The objectives are to minimize execution time and cost, and to maximize reputation, reliability and availability. The exposition and notation below follows Ardagna and Pernici (2006).
Lane
Flight Booking
2.1.1. Execution cost The execution cost EC ij is the amount that the service client must pay for the execution of the web service i by the supplier j. The service suppliers furnish their execution prices.
Activity
Begin Event
Message Flow
Gateway
End Event
Fig. 1. Some flow objects in BPMN notation.
Atractions Search
Hotel Booking
Calculate Driving Time
> 3h
Car Rental
Bicycle Rental
Fig. 2. Travel planner system with web services.
2.1.2. Execution duration The execution duration EDij measures the expected delay between the execution request of the web service i and the return of the output by the supplier j. The execution duration is calculated by the expression EDij ¼ T process þ T trans , as the execution duration is the processing time T process plus the transmission time T trans . Web service suppliers furnish their processing times or provide means to obtain this information online. The transmission time is estimated from past executions of the web service operation:
PNe T trans ¼
2.1. Elementary QoS attributes
Lane
k¼1 T k
Ne
;
ð1Þ
where T k is the k-th observation of the transmission time, and Ne is the number of executions considered. 2.1.3. Reliability The reliability Rij of a web service i from supplier j is the probability that a request will be met within an expected time interval. This information should also be furnished by the supplier. Reliability is a measure related to software and hardware structures: it depends on the web service server and on the quality of its connection with the client. The reliability is calculated from recorded data by Rij ¼ N c =K, where N c is the number of correct web service outputs delivered in the expected time interval, and K is the number of accesses considered. 2.1.4. Availability The availability AV ij of a web service i from supplier j is a probability that the service will be available. The availability is calculated by AV ij ¼ T a =a, where T a is the total time (in s) that the web service i was available during the last a seconds, where a is
4746
W. Fontanini, P.A.V. Ferreira / Expert Systems with Applications 41 (2014) 4743–4751
a parameter set by the web service administrator. The value of a depends on the application and varies significantly. In applications in which the web service is frequently accessed (e.g., in stock markets), small values for a are required. If the service is less frequently used, a large value for a is more appropriate. The web service suppliers should provide information about their availability. 2.1.5. Reputation The reputation RP ij of a web service i from supplier j is a subjective measure of the client satisfaction. It depends on previous experiences while using the web service. Different users can have different opinions about the same service. Thus, reputation is defined as the average ranking of the web service according to its users:
2.2.5. Availability, AV l The availability of a plan epl of an execution path epl is: Q AV l ¼ ði;jÞ2epll AV ij . 2.3. Multiobjective optimization problem In this Section, the web service scheduling problem is formulated as a multiobjective optimization problem. Concepts and methods of multiobjective optimization are comprehensively discussed in Collette and Siarry (2011), among others. The optimization problem detailed below involves elements of Multiobjective and Integer Programming (Collette & Siarry, 2011; Wolsey, 1998). The binary variable yij indicates whether the web service i will be executed by the supplier j (yij ¼ 1) or not (yij ¼ 0).
PN t
k¼1 Rankk
RP i j ¼
Nt
ð2Þ
;
where Rankk is the ranking given by a user k about the service, and N t is the number of times that the web service has been evaluated. It is a common practice that users evaluate web services in a range from 0 to 5, for example. 2.2. Composite QoS attributes A business process diagram can have many execution paths, depending on the existence of intermediate gateways or parallel processing. In order to aggregate the quality objectives of a business process, the following modeling elements are introduced: an execution path epl contains sequences of parallel tasks (including two special tasks, begin and end); L is the set of all the execution paths; freql is the execution frequency of the execution path epl ; a subpath splm does not contain any parallel sequences, as it is a subl set of an execution path; an execution plan epl for an execution path epl is a set of ordered pairs ði; jÞ, where the first element of the pair is some task i that belongs to epl , and the second element is the web service supplier j. 2.2.1. Execution duration, ED l The execution duration of a plan epl is the largest sum of all the execution durations in each subpath splm that belongs to the execution path epl . Mathematically,
X
EDl ¼ max
splm 2epl
EDij :
i2splm ;ðk;jÞ2epll ;k¼i
2.2.2. Execution cost, EC l The execution cost of a plan epl of an execution path epl is the sum of the execution costs EC ij of the plan:
EC l ¼
X
EC ij :
ði;jÞ2epll
2.2.3. Reputation, RP l The reputation of a plan epl of an execution path epl is the weighted average sum of the individual reputations RP ij according l to the plan epl ; N s is the number of elements in the sample:
RP l ¼
1 X RP ij : Ns l ði;jÞ2epl
2.3.1. Duration and execution cost constraints Let A be the set of all the tasks in a given business process graph. For notational simplicity we assume that there exists a set of web service suppliers WS that can be assigned to any task i 2 A. However, for each task i, only one supplier must be assigned. The participation of web service suppliers must obey the following constraint:
X
yij ¼ 1;
Rl ¼
Y
ði;jÞ2epll
Rij :
ð3Þ
Let ST il represent the earliest starting time of task i in the execution path epl ; let TDil represent the execution duration of task i in the execution path epl . The notation j ! k indicates that task k directly succeeds task j. The parameter MXT is the maximum time to complete the execution of any plan. The following constraints then apply:
X
EDij yij ¼ TDil ;
8i 2 A; 8epl 2 L;
ð4Þ
j2WS
ðTDjl þ ST jl Þ 6 ST kl ; 8j ! k; j; k 2 A; 8epl 2 L; X TDil ; 8epl 2 L; EDl P
ð5Þ ð6Þ
i2splm
EDl 6 MXT;
8epl 2 L:
ð7Þ
Constraint (4) imposes that the execution duration of any task i in any execution path epl is equal to the sum of execution durations determined by the selection of the web service suppliers. Constraint (5) captures the fact that, if task k in any execution path epl directly follows task j in the same execution path, then task k does not start before the completion of task j. Constraint (6) indicates that the execution duration of each execution path is the largest among the execution durations of all subpaths splm . Constraint (7) guarantees that the total execution duration of a execution path never exceeds the limit MXT. (It would be incorrect to consider MXT as the sum of all the execution paths because, actually, the run-time environment will execute only one execution path.) The parameter MXC is the amount of money (budget) available to implement any execution plan. The variable EC l is the cost of the execution path epl . The following constraints must hold:
X
EC ij yij ¼ EC l ;
8epl 2 L;
ð8Þ
i2epl ; j2WS
EC l 6 MXC; 2.2.4. Reliability, R l The reliability of a plan epl of an execution path epl is:
8i 2 A:
j2WS
8epl 2 L:
ð9Þ
According to (8), the total cost of a execution path is the sum of the costs incurred to execute all the tasks of the execution path. Constraint (9) states that the total cost of any execution path never exceeds MXC.
W. Fontanini, P.A.V. Ferreira / Expert Systems with Applications 41 (2014) 4743–4751
2.3.2. Reputation constraint The parameter MNRP is the minimum expected reputation, while the variable RP l is the reputation of the execution path epl . It follows that
RP l ¼
X
RP ij yij =jepl j;
8epl 2 L;
ð10Þ
i2epl ; j2WS
RP l P MNRP;
8epl 2 L;
ð11Þ
where jepl j is the number of tasks in epl . 2.3.3. Availability and reliability constraints The parameter MNA is the minimum expected availability; the variable AV l is the availability of the execution path epl . The aggregation functions for availability and reliability are nonlinear. Their linearizations are provided by the neperian logarithm (ln):
AV l P lnðMNAÞ; 8epl 2 L; X lnðAV ij Þyij ; 8epl 2 L; AV l ¼
ð12Þ ð13Þ
i2epl ; j2WS
Rl P lnðMNRLÞ; 8epl 2 L; X lnðRij Þyij ; 8epl 2 L: Rl ¼
ð15Þ ð16Þ
4747
Ideal values (f i ; f i ) provide the limits of performance of the composite web service. They are convenient for presenting the method, but not strictly necessary, as any meaningful set of goals applies. The vector of weights determines the direction of improvement: the smaller the weight wi , the more important for the designer is the objective fi . In addition, the optimal objective value of problem (22) has a clear interpretation: it indicates the maximum deviation from the goals. An optimal rI > 0 means that at least one objective value does not satisfy the inequalities; rI 6 0, otherwise. The objective function (composite QoS attribute) responsible for rI is also determined. The web services composition problem in its classical mixedinteger linear formulation is equivalent to a Multidimensional Multiple-Choice Knapsack Problem (MMKP) (Akbar, Rahman, Kaykobad, Manning, & Shoja, 2006). As every instance of the MMKP can be formulated as a classical web service composition problem (Ardagna & Pernici, 2006), such problem is NP-Hard. The goal programming formulation (23) is a MMKP with additional constraints, which, in principle, force us to view it as a general mixed-integer optimization problem. In this case, (23) belongs to the class of NP-Complete problems (Nemhauser & Wolsey, 1999). In practice, this means that large instances of problem (23) may require the use of efficient metaheuristics.
i2epl ; j2WS
The performance objectives for the web service scheduling problem are
minimize f 1 ¼
X
freql EC l ;
ð17Þ
freql EDl ;
ð18Þ
epl 2L
minimize f 2 ¼
X
epl 2L
maximize f 3 ¼
X
freql RP l ;
ð19Þ
freql AV l ;
ð20Þ
freql Rl :
ð21Þ
epl 2L
maximize f 4 ¼
X
epl 2L
maximize f 5 ¼
X
epl 2L
where freql is the (observed) frequency of the execution path epl . The multiobjetive optimization problem that emerges from the previous analysis is solved by the Goal Attainment Method (Collette & Siarry, 2011). Briefly, given a set of objective functions f1 ; f2 ; . . . ; fm to be minimized over a feasible region X, the following single objective optimization problem is considered:
minimize r fi ðxÞ rwi 6 f i ; i ¼ 1; . . . ; m; subject to x 2 X;
ð22Þ
In this section, the web service scheduling problem is formulated as a non-cooperative, incomplete information (Bayesian) game (Shoham & Leyton-Brown, 2009). The structure of the game is common knowledge of all the suppliers, but each supplier knows only his/her own utility (revenue) function. (A fact is common knowledge of a set of players if each player knows the fact, each player knows that all the other players know the fact, etc.). The Bayes–Nash equilibria of the game establish the strategies (in terms of expected utilities) that the suppliers should adopt while competing for the tasks of the composite web service. We assume that each supplier j has a number of actions in the form of jAj-dimensional vectors of execution durations, one execution duration for each of the jAj tasks of the business process. Let C j be the finite set of actions of supplier j. A typical action EDj 2 C j is
EDj ¼ ðED1j ; . . . ; EDjAjj Þ;
EDij > 0; i ¼ 1; . . . ; jAj:
The execution duration EDij and the price fixed by supplier j for task i are assumed to be constrained to intervals:
T MINij 6 EDij 6 T MAX ij ; PMINij 6 EC ij 6 PMAX ij :
where f i ; i ¼ 1; . . . ; m, are goals for the objectives and wi ; i ¼ 1; . . . ; m, are weights associated with the goals; r is a escalar variable. It is common to assume that f i ¼ fi;min ; i ¼ 1; . . . ; m, that is, each goal is equal to the minimum of each individual objective function over the feasible region. Assuming that wi ¼ fi ; i ¼ 1; . . . ; m, by solving (22) we minimize the maximum deviation of the objective functions with respect to their minima. As in (17)–(21) the objectives i ¼ 3; 4; 5 must be maximized, problem (22) is reformulated as
minimize r fi ðxÞ rwi 6 f i ; i ¼ 1; 2; subject to fi ðxÞ þ rwi P fi ; i ¼ 3; 4; 5; x 2 X;
2.4. The game-theoretic approach
The utility (revenue) of supplier j while executing task i is assumed to be an affine, monotonically decreasing function of EDij :
EC ij ¼
PMAX ij PMINij EDij þ PMINij : T MAX ij T MINij
ð24Þ
The expression (24) captures the fact that the lower the time required for executing a task, the larger the price charged. A typical action profile for a game with n suppliers is a (njAj)-dimensional vector of the form
ED ¼ ðED1 ; . . . ; EDn Þ: ð23Þ
where fi ¼ fi;max ; i ¼ 3; 4; 5, is the maximum of the corresponding objective function over the feasible region X.
Given any action profile, an optimal solution of the scheduling problem establishes an assignment of suppliers to tasks and the utility of each supplier j:
U j ðEDÞ ¼
X EC ij yij : i2A
ð25Þ
4748
W. Fontanini, P.A.V. Ferreira / Expert Systems with Applications 41 (2014) 4743–4751
To add an uncertainty element to the game played by the suppliers, we associate types with each supplier j, with each type being described by a different instance of the parameters P MINij and PMAX ij . Let hj be a generic type and Hj be the finite set of types of supplier j. Each supplier knows his/her own type, that is, his/her utility function (25), but does not know the type of any other supplier. However, it is assumed that the joint probability distribution of types,
pðh1 ; . . . ; hm Þ;
AddID
h1 2 H1 ; . . . ; hn 2 Hn ;
is common knowledge of all the suppliers. In an incomplete information or Bayesian game, as the one played by the suppliers under the assumption of types, a pure strategy sj : Hj ! C j is a mapping from Hj (types) to C j (actions). The set of all the pure strategies of supplier j is denoted by Sj . A mixed strategy rj of supplier j is any probability distribution over his/her set of pure strategies Sj , that is, any function r such that
IF
THEN
GetQuote
THEN
CheckStatus
IF
T1
ELSE
T2
AddName
T3
ELSE
T4
CalcelRent
X
rðsj Þ ¼ 1; rðsj Þ P 0; 8sj 2 Sj :
EndReport
sj 2Sj
T5
T6
Let Rj be the (infinite) set of all the mixed strategies of supplier j. We use the notation rj ðEDj jhj Þ to denote the probability (under the mixed strategy rj ) that supplier j plays action EDj when his/ her type is hj . The expected (ex-ante) utility of supplier j under the mixed strategy profile r ¼ ðr1 ; . . . ; rn Þ is given by Shoham and LeytonBrown (2009)
All tests were carried out on a micro-PC Dual-Core 3 GHz with Windows XP.
! X X Y EU j ðrÞ ¼ pðhÞ rj ðEDj jhj Þ U j ðED; hÞ;
3.1. Goal programming approach
h2H
ED2S
Fig. 3. Illustrative example of business process in BPMN notation.
j
where h ¼ ðh1 ; . . . ; hn Þ; H ¼ H1 Hn and S ¼ S1 Sn . The set of best responses of supplier j to a deleted mixed strategy profile rj (r without the rj component) is defined as
BRj ðrj Þ ¼ arg max EU j ðr0j ; rj Þ: 0 rj 2Rj
A Bayes–Nash equilibrium of the game played by the suppliers is a mixed strategy profile r which satisfies
rj 2 BRj ðrj Þ: As in the definition of Nash equilibrium, in a Bayes–Nash equilibrium each supplier plays a best response to the strategies of the other suppliers. A Bayes–Nash equilibrium always exists in the present (finite) game-theoretic formulation of web service scheduling problem. 3. Results and discussion In this section the proposed methods are numerically tested. Most of the parameters needed (as costs and executions times) were randomly (but realistically) generated by the same Java program that converts the execution graph of a business problem into the data structures required by the GLPK package (Gnu Project, 2012). The execution graph itself can not be random, as it must be consistent with the idea of a business process. Consider the business process illustrated in Fig. 3. The process has three executions paths with a total of six tasks to be performed by five suppliers. For the sake of simulation, the attributes of the individual services were randomly generated using uniform distributions: execution time in the interval ½0:5; 8 s; cost in ½1; 100 cents; availability in ½0:95; 0:99999; reputation in ½0:8; 0:99; reliability in ½0:85; 0:95. The time that the user waits in a queue until his/hers service starts was added to the execution time of the web service.
We initially investigate the scheduling produced while solving the optimization problem (23). The report produced by the solver is summarized in Table 1. Table 2 discriminates the values of the composite attributes in each execution path. The solver was initially run for each single objective in (17)– (21), generating ideal goals for execution time, cost, reputation, availability and reliability. These are useful pieces of information, as they establish the limits of performance of the composite service. The solver was run a sixth time to provide the optimal solution of the goal optimization problem (23), also displayed in Table 1. The largest deviation was in the attribute cost, followed by the execution time. Additional tests with varying numbers of web services (10; 25 and 50) and tasks (25 and 5) are reported in Table 3. The simulation parameters were the same of the ilustrative example, except that the execution time of each web service varied uniformly between 0:01 and 10. The business process which contains 25 tasks had three execution paths, one path with two subpaths and the remaining two paths with twelve subpaths. The business process which contains 5 tasks had two execution paths, without subpaths. The optimal value of the goal programming problem (rI ) informs that the bottleneck for the process with 25 tasks was cost. For the process with 5 tasks, the bottleneck was execution time. The computational time spent in each combination of web services and tasks of Table 3, including the time needed for obtaining ideal values, was less than 2 s. Table 1 Goal optimization solution for the illustrative example.
Cost Time Reputation Availability Reliability
Solution
Goal
Variation (%)
356 30.36 0.8952 0.7941 0.3638
266 23.74 0.9200 0.8169 0.3754
33:83 27:89 2:69 2:79 3:09
4749
W. Fontanini, P.A.V. Ferreira / Expert Systems with Applications 41 (2014) 4743–4751 Table 2 Global attributes by execution path.
Cost Time Reputation Availability Reliability Frequency
Table 4 Intervals of execution durations of the six tasks.
ep0 T1–T2–T4–T6
ep1 T1–T2–T5–T6
ep2 T1–T3
127 11 0.95 0.90 0.54 0.35
349 29.6 0.89 0.75 0.27 0.35
322 30.58 0.92 0.80 0.28 0.30
For a numerical analysis of the game-theoretic approach, consider again the business process described in Fig. 3 with only two potential suppliers. Assume that the intervals ½T MINij ; T MAXij of execution durations of the six tasks are as defined in Table 4. The intervals ½PMINij ; P MAX ij of prices depend on the types of the suppliers, as indicated in Table 5. The first type of each supplier, h1j , charges lower prices than the second one, h2j . Assume that the joint probability distribution of types is
pðh11 ; h22 Þ ¼ 0:1;
Supplier 1
Supplier 2
1 2 3 4 5 6
[15, 20] [14, 19] [15, 16] [16, 18] [6, 8] [2, 5]
[14, 21] [13, 18] [16, 18] [10, 11] [1, 5] [3, 4]
Table 5 Intervals of prices of the six tasks as functions of types.
3.2. Game-theoretic approach
pðh11 ; h12 Þ ¼ 0:3;
Task
pðh21 ; h12 Þ ¼ 0:2;
pðh21 ; h22 Þ ¼ 0:4:
Table 6 presents a sample of five actions – ED1j ; ED2j ; ED3j ; ED4j ; ED5j – available for of each supplier j. Each combination of types gives rise to a normal form representation of the game being played. Suppliers 1 and 2 are the row and the colunm players, respectively. The normal form described in Table 7 corresponds to h1 ¼ h11 and h2 ¼ h12 . Each cell in Table 7 is a pair of utilities U 1 ðED; hÞ; U 2 ðED; hÞ computed by solving the associated web service scheduling problem. The other three normal forms are computed similarly. Each supplier has twenty-five pure strategies (two types and five actions). The pure strategies of supplier j are labeled as a b a EDj j EDj j (aj ; bj ¼ 1; 2; 3; 4; 5), meaning that supplier j plays EDj j bj 1 2 and EDj when his/her types are hj and hj , respectively. Given the prior joint probability distribution over types p, the (ex ante) expected utility of supplier j under the strategic profile ðEDa11 EDb11 ; EDa22 EDb22 Þ is given by
Task
h11
1 2 3 4 5 6
[1.50, [0.20, [0.85, [0.02, [0.33, [0.50,
h21 2.50] 2.00] 1.25] 1.00] 0.66] 1.50]
[15.0, [2.00, [8.50, [2.00, [3.30, [5.00,
h12 25.0] 20.0] 12.5] 10.0] 6.60] 15.0]
[1.30, [1.70, [0.75, [0.25, [0.05, [0.51,
h22 1.50] 1.80] 1.22] 0.75] 0.25] 1.51]
[13.0, [17.0, [7.50, [2.50, [0.50, [5.10,
15.0] 18.0] 12.2] 7.50] 2.50] 15.1]
Table 6 A sample of possible actions of suppliers 1 and 2. ED11
(20.0, 19.0, 16.0, 18.0, 8.0, 2.0)
ED12
(14.0, 18.0, 16.0, 11.0, 1.0, 4.0)
ED21 ED31 ED41 ED51
(17.5, 19.0, 15.5, 18.0, 8.0, 2.0)
ED22
(14.0, 18.0, 17.0, 10.5, 1.0, 3.5)
(20.0, 16.5, 15.5, 18.0, 8.0, 5.0)
ED32
(21.0, 15.5, 16.0, 11.0, 1.0, 4.0)
(15.0, 16.5, 15.5, 18.0, 6.0, 5.0)
ED42
(17.5, 15.5, 17.0, 10.0, 3.0, 4.0)
(15.0, 14.0, 15.0, 16.0, 6.0, 2.0)
ED52
(21.0, 18.0, 17.0, 10.5, 5.0, 4.0)
Table 7 Pairs of utilities U 1 ðED; hÞ; U 2 ðED; hÞ for h1 ¼ h11 and h2 ¼ h12 . ED52
Actions
ED12
ED22
ED32
ED11
0.43, 1.91
1.93, 0.73
0.43, 1.71
0.43, 1.78
0.43, 1.65
ED21
0.50, 1.91
0.14, 2.58
0.50, 1.71
0.14, 2.12
0.14, 1.99
ED31
2.91, 0.07
2.55, 0.42
1.41, 1.37
1.05, 1.79
1.05, 1.66
ED41
1.41, 1.57
1.05, 1.92
1.41, 1.37
1.05, 1.79
1.05, 1.66
ED51
0.00, 3.53
0.00, 3.86
0.00, 3.36
0.00, 3.52
0.00, 3.27
ED42
uj ðEDa11 EDb11 ; EDa22 EDb22 Þ ¼ pðh11 ; h12 ÞU j ðEDa11 ; EDa22 ; h11 ; h12 Þ þ pðh11 ; h22 ÞU j ðEDa11 ; EDb22 ; h11 ; h22 Þ þ pðh21 ; h12 ÞU j ðEDb11 ; EDa22 ; h21 ; h12 Þ þ pðh21 ; h22 ÞU j ðEDb11 ; EDb22 ; h21 ; h22 Þ; where all the utilities U j ðED; hÞ have been found previously. The Nash equilibria of the 25 25 normal form game induced by the Bayesian game were obtained through the computational algorithm described in Avis et al. (2010), and publically available online in http://www.gametheorysociety.org/resources.html. Five Nash equilibria in mixed strategies were obtained. Table 8 describes the mixed strategies of supplier 1 in the equilibria (w.p. means ‘‘with probability’’).
Table 8 Mixed strategies of supplier 1 in the five equilibria. Equilibrium
Mixed Strategy of Supplier 1
1
ED31 ED31 w.p. 0.22 and ED41 ED31 w.p. 0.78
2
ED41 ED31 w.p. 0.78 and ED31 ED41 w.p. 0.22
3
ED31 ED31 w.p. 0.22 and ED41 ED41 w.p. 0.78
4
ED31 ED31 w.p. 0.09, ED31 ED41 w.p. 0.13 and ED41 ED41 w.p. 0.78
5
ED41 ED31 w.p. 0.09, ED31 ED41 w.p. 0.22 and ED41 ED41 w.p. 0.69
In all the five Bayes–Nash equilibria, the mixed strategy of supplier 2 was ED22 ED42 with probability 0.24 and ED41 ED42 with
Table 3 Deviations of quality attributes with varying numbers of web services and tasks. Objective
10ws 25task
25ws 25task
50ws 25task
10ws 5task
25ws 5task
Cost Time Reputation Availability Reliability
0.9420 0.5459 0.0528 0.0460 0.0124 0.9420
1.2410 1.1259 0.0755 0.1220 0.0286 1.2410
1.0697 0.9172 0.1038 0.1451 0.3239 1.0697
1.3958 1.5692 0.0931 0.0642 0.1479 1.5692
0.9479 1.3860 0.0638 0.0831 0.0525 1.3860
rI
4750
W. Fontanini, P.A.V. Ferreira / Expert Systems with Applications 41 (2014) 4743–4751
probability 0.76. In all the equilibria, the expected utilities of suppliers 1 and 2 were 5:16 and 8:40, respectively. Thus, the problem of determining which Bayes–Nash equilibrium to play is solved already. Supplier 1 can play any of his/her equilibrium strategies. Supplier 2 plays his/her single mixed strategy. 4. Related work A recurrent strategy in the literature on the web service composition problem under multiple QoS attributes is the aggregation of these attributes into a single scalar value. Usually the aggregation assumes the form of a weighted combination of scores, one score (a measure of attainability) for each attribute. A disadvantage of this strategy is that it is not easy to define weights so as to assure a given quality of the optimal execution plan (Strunk, 2010), because the execution plan is highly dependent on the weights. Instead of aggregating attributes, we propose a goal programming approach. By using this approach, the designer can express his/her preferences about the objectives in terms of goals and assign suppliers to tasks in order to minimize the maximum deviation from these goals. Our overall objetive function has a clear meaning and the attribute that causes the maximum deviation is easily identified. A disadvantage of the the goal programming formulation proposed is that it introduces additional constraints to the classical multidimensional multiple-choice Knapsack problem. Small to medium size instances of the web service composition problem have been solved by the GLPK package (Gnu Project, 2012) exactly and efficiently, but large scale instances may require the use of metaheuristics. Goal Programming is a traditional methodology in the field of Multiobjective optimization (Collette & Siarry, 2011). Goal programming has been applied to web service composition problems, as in Cho, Kim, Choo, S-K, and Lee (2006), where the authors work with the idea of prioritizing and minimizing deviations from prescribed goals for the composite attributes using, however, a simplified mathematical model of the problem. The same idea in pursued in Cui, Kumara, and Lee (2011), but only the attributes execution time, cost and reliability are considered. A different aspect of the web service composition problem, linked to the management of the composite web service system, is posed in Kattepur, Georgantas, and Issarny (2013) within a classical goal programming formulation. The game-theoretic approach proposed in this paper is consistent with the competitive behaviour of web service suppliers, but the combination of possible actions and types needed for characterizing Bayes–Nash equilibria makes their determination a difficult computational problem. Nevertheless, a major application of Bayesian games is to auctions (Narahari et al., 2009): web suppliers submit bids to tasks and an auctioneer determines the winners through an appropriate mechanism. Mechanisms which implement combinatorial auctions are promising and have shown good results in simple scenarios (Mohabey, Narahari, Mallick, Suresh, & Subrahmanya, 2007; Prashanth & Narahari, 2008). 5. Conclusions and future directions The paper focused on models and methodologies for scheduling problems associated with business processes in web service environments. The paper contributed for the state-of-art in methodologies for web service composition with two innovations. Firstly, the paper introduced a goal programming formulation for web service composition problems with multiple QoS attributes. The approach proposed avoids the aggregation of multiple attributes in a presumed utility function, substituing it by the specification of goals to be attained, which is more meaningful in several business contexts. In addition, the goal programming
approach, while minimizing the maximum deviation from the goals, provides an useful tool for identifying critical aspects of the implementation of a given business process on the web. Secondly, the paper models the competitive relationship between web service suppliers as a Bayesian game. The paper shows how to compute the Bayes–Nash equilibria of the game, which establish the strategies (in terms of expected utilities) that the suppliers should adopt while competing for the tasks of the composite service. We believe that the game-theoretic model proposed represents an effective step towards more refined models for the web service composition problem based on non-cooperative and cooperative game theory. As a first future research direction we mention the development of post-optimality and robust optimization approaches for web service composition problems. A robust optimization approach is relevant because web service attributes are subject to (usually bounded) variations, and the web service composition problem can be viewed as a mixed-integer linear optimization problem under uncertainty (e.g., Lin, Janak, & Floudas, 2004). As a second future research direction we mention the modeling of composite web services with competitive web service suppliers within the Mechanism Design framework (Narahari et al., 2009). (A formal model of web services auction based on service level agreement documents is proposed in Zhang, Zhang, & Zhang (2006).) We are currently incorporating an auction-based mechanism (a second-price auction mechanism) to our mathematical optimization models for web service composition. Ackowledgment This work has been partially sponsored by the CNPq (‘‘Conselho Nacional de Desenvolvimento Cientifico e Tecnologico’’, Brazil) Grant No. 307926/2009-5. References Akbar, M. M., Rahman, M. S., Kaykobad, M., Manning, E. G., & Shoja, G. C. (2006). Solving the multidimensional multiple-choice Knapsack problem by constructing convex hulls. Computers & Operations Research, 33, 1259–1273. Ardagna, D., & Pernici, B. (2006). Global and local QoS guarantee in web service selection. Lecture Notes in Computer Science, 3812, 32–46. Avis, D., Rosenberg, G., Savani, R., & von Stengel, B. (2010). Enumeration of Nash equilibria for two-player games. Economic Theory, 42, 9–37. Canfora, G., Penta, M. D., Esposito, R., & Villani, M. L. (2005). An approach for QoSaware service composition based on genetic algorithms. In Genetic and evolutionary computation conference (GECCO ’05) (pp. 1069–1075). Chen, Y., Zhou, L., & Zhang, D. S. (2006). Ontology-supported web service composition: An approach to service-oriented knowledge management in corporate financial services. Journal of Database Management, 17, 67–84. Chinosi, M., & Trombetta, A. (2012). BPMN: An introduction to the standard. Computer Standards & Interfaces, 34, 124–134. Cho, D., Kim, C., Choo, M.-W., S-K, K., & Lee, W. (2006). Goal programming approach to compose the service quality of service. Lecture Notes in Computer Science, 3983, 787–797. Collette, Y., & Siarry, P. (2011). Multiobjective optimization: Principles and case studies. New York: Springer. Cui, L.-Y., Kumara, S., & Lee, D. (2011). Scenario analysis of web service composition based on multicriteria mathematical goal programming. Service Science, 3, 280–303. Fan, X. Q. (2013). A decision-making method for personalized composite service. Expert Systems with Applications, 40, 5804–5810. Fan, X. Q., Fang, X. W., & Jiang, C. J. (2011). Research on web service selection based on cooperative evolution. Expert Systems with Applications, 38, 9736–9743. Gao, Y., Cai, M., & Chen, H. (2007). QoS service composition based on tree-coded genetic algorithm. In Proceedings on the 31st annual international computer software and application conference (COMPSAC ’07) (pp. 361–367). Gendreau, M., & Potvin, J.-Y. (2010). Handbook of metaheuristics (2nd ed.). New York: Springer. Gnu Project, GLPK (Gnu Linear Programming Kit). (2012).
. Kattepur, A., Georgantas, N., & Issarny, V. (2013). QoS composition and analysis in reconfigurable web services choreographies. In Proceeding of the 20th IEEE conference on web services (pp. 1–8). Kennedy, J., & Eberhart, R. (1995). Particle swarm optimization. Proceedings of the IEEE International Conference on Neural Networks, 4, 1942–1948.
W. Fontanini, P.A.V. Ferreira / Expert Systems with Applications 41 (2014) 4743–4751 Khosravifar, B., Bentahar, J., Mizouni, R., Otrok, H., Alishahi, M., & Thiran, P. (2013). Agent-based game-theoretic model for collaborative web services: Decision making analysis. Expert Systems with Applications, 40(8), 3207–3219. Ko, J. M., Kim, C. O., & Kwon, I. H. (2008). Quality-of-service oriented web service composition algorithm and architecture. Journal of Systems and Software, 81, 2079–2090. Leitner, P., Hummer, W., & Dustdar, S. (2013). Cost-based optimization of service compositions. IEEE Transactions on Services Computing, 6, 239–251. Li, H. F. (2011). QoS-aware web services composition: A cooperate optimization approach. Materials, Mechatronics and Automation, 467–469, 69–74. Liang, W. Y., & Huang, C. C. (2009). The generic genetic algorithm incorporates with rough set theory – An application of the web services composition. Expert Systems with Applications, 36, 5549–5556. Lin, X. X., Janak, S. L., & Floudas, C. A. (2004). A new robust optimization approach for scheduling under uncertainty: I. Bounded uncertainty. Computers & Chemical Eengineering, 28, 1069–1085. Li, H. F., Zhu, Q., Yang, X. Y., & Xu, L. R. (2012). Geo-information processing service composition for concurrent tasks: A QoS-aware game theory approach. Computers & Geosciences, 47, 46–59. Ma, Y., & Zang, C. (2008). Quick convergence of genetic algorithm for QoS-driven web service selection. Computer Networks, 52, 1093–1104. Mohabey, M., Narahari, Y., Mallick, S., Suresh, P., & Subrahmanya, S. V. (2007). A combinatorial procurement auction for QoS-aware web services composition. Proceedings of the 3rd IEEE Conference on Automation Science and Engineering, 22–25. Narahari, Y., Garg, D., Narayanam, R., & Prakash, H. (2009). Game theoretic problems in network economics and mechanism design solutions. London: Springer. Nemhauser, G. L., & Wolsey, L. A. (1999). Integer and combinatorial optimization. New York: John Wiley & Sons. Parejo, J. P., Segura, S., Fernandez, P., & Ruiz-Cortés, A. (2014). QoS web services composition using grasp with path relinking. Expert Systems with Applications, 41, 4211–4223. Prashanth, B., & Narahari, Y. (2008). Efficient algorithms for combinatorial auctions with volume discounts arising in web service composition. In Proceedings of the 4th IEEE conference on automation science and engineering (pp. 23– 26). Qi, L. Y., Dou, W. C., Zhang, X. Y., & Chen, J. J. (2012). A QoS-aware composition method supporting cross-platform service invocation in cloud environment. Journal of Computer and Systems Science, 78, 1316–1329. Rodriguez-Mier, P., Mucientes, M., Vidal, J. C., & Lama, M. (2012). An optimal and complete algorithm for automatic web service composition. International Journal of Web Services Research, 9, 1–20.
4751
Shen, Y. M., & Fan, Y. S. (2007). Cooperative mixed strategy for service selection in service oriented architecture. In Proceedings of the 2007 IEEE international conference on systems, man, and cybernetics (pp. 2482–2487). Shoham, Y., & Leyton-Brown, K. (2009). Multiagent systems. Algorithmic, gametheoretic, and logical foundations (first ed., ). New York, USA: Cambridge University Press. Sinnen, O. (2007). Task scheduling for parallel systems (first ed.). New York, USA: Wiley-Interscience. Smeureanu, I., Ruxanda, G., Diosteanu, A., Delcea, C., & Cotfas, L. A. (2012). Intelligent agents and risk based model for supply chain management. Technological and Economic Development of Economy, 18, 452–469. Strunk, A. 2010. QoS-aware service composition: A survey. In: 8th IEEE European Conference on Web Services (pp. 67–74). Su, K., Ma, L., Guo, X., & Sun, Y. (2014). An efficient parameter-adaptive genetic algorithm for service selection with end-to-end QoS Constraints. Journal of Computational Information Systems, 10, 581–588. Sun, P. C., Huang, C. L., Chao, K. M., James, A., Bloor, C., & Godvin, N. (2006). Corebased agent for service-oriented market. In Proceedings of the 2006 IEEE international conference on systems, man, and cybernetics (pp. 2970–2975). Tao, F., Zhao, D. M., Hu, Y. F., & Zhou, Z. D. (2010). Correlation-aware resource service composition and optimal selection in manufacturing grid. European Journal of Operational Research, 201, 129–143. Wada, H., Suzuki, J., Yamano, Y., & Oba, K. (2012). A multiobjective optimization framework for SLA-aware service composition. IEEE Transactions on Services Computing, 358–372. Wang, H., Tong, P., Thompson, P., & Li, Y. (2007). QoS-based web services selection. In IEEE international conference on e-business engineering (ICEBE ’07) (pp. 631 637). Wang, L., Shen, J., & Yong, J. (2012). A survey on bio-inspired algorithms for web service composition. In Proceeding of the 2012 IEEE 16th international conference on computer supported cooperative work in design (pp. 569–574). Wolsey, L. A. (1998). Integer programming. New York: Wiley-Interscience. Zeng, L., Benatallah, B., Ngu, A., Dumas, M., Kalagnanam, J., & Chang, H. (2004). QoSaware middleware for web services composition. IEEE Transactions on Software Engineering, 30(5), 311–327. Zeng, L., Benatallah, B., Dumas, M., Kalagnanam, J., & Sheng, Q. (2003). Qualitydriven web services composition. In Proceedings of international World Wide Web conference (WWW) (pp. 411–421). Zhang, J., Zhang, N., & Zhang, L.-J. (2006). Auction-based pricing model for web service providers. International Journal of Web Services Research, 3, 82–107.