210 likes | 351 Views
L3S Research Center University of Hanover Germany. Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition. Mohammad Alrifai and Thomas Risse The International WWW Conference – April 22 th , 2009. Introduction. QoS-aware Architecture*. Broker.
E N D
L3S Research Center University of Hanover Germany Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition Mohammad Alrifai and Thomas Risse The International WWW Conference – April 22th, 2009
Introduction QoS-aware Architecture* Broker Web service Architecture UDDI QoS Registry UDDI Find service Publish QoS Feedback Update QoS Service invocation Find service Publish Service Consumer Service provider Service invocation Service Consumer Service provider * Liu et al: QoS Computation and Policing in Dynamic Web Service Selection – in WWW 2004
Dynamic Web Service Composition • Abstract representation: workflow-like languages: e.g. BPEL • Web service discovery: Matching functional requirements: e.g. credit card verification, flight booking, etc. • Web service selection: • Fulfilling Non-functional requirements: • e.g. latency, availability, price, etc. INPUT: Abstract Process WWW Discovery Alternative web services task web service QoS-based Selection OUTPUT: Executable Web Process
Outline • Introduction • QoS computation model • Global vs. Local QoS Optimization • A hybrid approach • Experimental evaluation • Conclusion and future work
QoS Computation Model • QoS Attributes (q): • Quantitative: e.g. price ($), availability (uptime%), response time (sec) • Positive (e.g. availability) • Negative (e.g. price) • QoS vector (Q): • Component service: Qs = {q1, q2, ..., qr} • Composite service: Qcs = {q‘1, q‘2, ..., q‘r} where q‘ is the aggregated QoS value • QoS constraints vector(C): • Local constraints: Cs = {c1, ..., cr} upper bound values for Qs • Global constraints: Ccs = {c‘1, ..., c‘r} end-to-end upper bound values for Qcs
QoS Optimization Problem • Problem statement: • Given a composition requestCS = {S1, S2, ..., Sn}, • a list of service candidates for each service class Sj in CS, • a vector of m end-to-end QoS constraints Ccs = {c‘1, c‘2, ..., c‘m}, • and a utility function, • select one web service sjfor each service class Sj in CSsuch that: • (1) q‘k≤c‘k , 1 ≤ k≤m, i.e. all constraints are satisfied • (2) Overall utility is maximized • Feasible Solutions: • Any selection that fulfills (1) • Optimal Solution: • Any selection that fulfills (1) and (2)
Existing Solutions I • Local QoS Optimization*: • Component services are selected independently • Service candidates are ranked by utility value • Very efficient (linear complexity) • Distributed computation • Cannot satisfy end-to-end QoS constraints Abstract services Alternative services Concrete services * Liu et al: QoS Computation and Policing in Dynamic Web Service Selection – in WWW 2004
Existing Solutions II • Global QoS Optimization*: • The problem is modeled as a Mixed Integer Linear Program OUTPUT: Executable composite service INPUT: Abstract composite service Service composer Candidate Services Candidate Services Candidate Services Service Broker 1 Service Broker 2 Service Broker n QoS Registry QoS Registry QoS Registry * Zeng et al: Quality Driven Web Services Composition – in WWW 2003 * Ardagna et al: Adaptive Service Composition in Flexible Processes - in IEEE Trans. on Software Eng. 2007
Existing Solutions II • Global QoS Optimization*: • Existing MILP solvers can be used to find the optimal solution • Can satisfy end-to-end QoS constraints • Inefficient: exponential complexity w.r.t. number of services • Supports only linear utility functions • Centralized computation • Re-computation is required in case of service failure * Zeng et al: Quality Driven Web Services Composition – in WWW 2003 * Ardagna et al: Adaptive Service Composition in Flexible Processes - in IEEE Trans. on Software Eng. 2007
A Hybrid Approach • Our goal: a compromise between performance and optimality • Divide the problem into two sub-problems that can be solved more efficiently than the original problem Global QoS constraints Constraint Decomposition Local QoS constraints Step1 (Global optimization): each global QoS constraint is decomposed into a set of local constraints Local Selection Local Selection Local Selection QoS Registry QoS Registry QoS Registry Step2 (Local Optimization): the best service candidate that satisfies local constraints is selected
Decomposition of QoS Constraints I • A non-trivial task • Different service classes can have different distributions of QoS values • Proposed approach: • Extract quality levels for each class based on local characteristics • Map global constraints into local quality levels, such that: • Selected quality levels serve as conservative local constraints • Local constraints are relaxed as much as possible
Decomposition of QoS Constraints II • Extracting Quality levels of service class Sj: • , divide the QoS value range into d sub-ranges • Randomly select one value qkz from each sub-range, 1 ≤ z ≤ d • Assign each level qkz a value pkz between 0 and 1, which estimates the benefit of using this level as local constraint: Quality Levels
Decomposition of QoS Constraints III • Mapping global QoS constraints into local quality levels: • using Mixed Integer Linear Programming • Objective function: • A binary variable xjkz for each quality level qjkz: • Objective function: • Constraints:
Local Selection I • Local constraints are sent to service brokers to perform local selection INPUT: Abstract composite service OUTPUT: Executable composite service Service composer Service composer Best local candidate 1 Local constraints Best local candidate n Local constraints Local constraints Quality levels Best local candidate 2 Quality levels Quality levels Service Broker 1 Service Broker 2 Service Broker n Service Broker 1 Service Broker 2 Service Broker n QoS Registry QoS Registry QoS Registry QoS Registry QoS Registry QoS Registry Step 2: Local selection of best candidates Step 1: Decomposition of global QoS constraints
Local Selection II • Filtering: • Service brokers filter out services that violate local constraints • Ranking (Simple Additive Weighting method): • Normalization:relative distance to worse value • Weighting: represents user priorities • wk = weight(qk), 0 ≤ wk ≤ 1 , ∑ wk =1
Local Selection III QoS attributes normalization Service candidates weighting Utility values sum Service Candidates
Experimental Evaluation • Evaluation methodology • Two datasets: Real dataset (QWS*) and synthetic dataset (normally distributed) • Random assignment of services to classes • Given a set of global QoS constraints select the best component services using: • Global optimization approach (Mixed-Integer Linear Programming) • Our hybrid approach • Measure the performance of both approaches (computation time) • Measure the distance to optimal results: • optimality (%) = utility of obtained solution / utility of optimal solution * Al-Masri et al: Investigating web services on the world wide web-in WWW2008
Conclusion and Future Work • We have proposed a scalable service selection method that is able to achieve close-to-optimal results with low cost and can be implemented in a distributed infrastructure. • The idea: divide the problem into two sub-problems: • Constraint decomposition: solved by global optimization • QoS optimization: solved by guided local selection • Next steps: • Developing adaptive methods for determining quality levels • Scalability with respect to num. of service classes
Thank you! Mohammad Alrifai (alrifai@L3S.de) Thomas Risse (risse@L3S.de)