Presentation is loading. Please wait.

Presentation is loading. Please wait.

L3S Research Center University of Hanover Germany

Similar presentations


Presentation on theme: "L3S Research Center University of Hanover Germany"— Presentation transcript:

1 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

2 Web service Architecture
Introduction Web service Architecture Broker QoS Registry Service provider Service Consumer Find service QoS Feedback Update QoS UDDI Publish Service invocation QoS-aware Architecture* Service provider Service Consumer Find service UDDI Publish Service invocation * Liu et al: QoS Computation and Policing in Dynamic Web Service Selection – in WWW 2004

3 INPUT: Abstract Process Alternative web services
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 OUTPUT: Executable Web Process QoS-based Selection task web service

4 Outline Introduction QoS computation model
Global vs. Local QoS Optimization A hybrid approach Experimental evaluation Conclusion and future work 4

5 QoS Computation Model QoS Attributes (q): QoS vector (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

6 QoS Optimization Problem
Problem statement: Given a composition request CS = {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 sj for each service class Sj in CS such 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)

7 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 7

8 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

9 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

10 Constraint Decomposition
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 Constraint Decomposition Global QoS constraints Local QoS constraints Local Selection QoS Registry Step1 (Global optimization): each global QoS constraint is decomposed into a set of local constraints Local Selection Local Selection Step2 (Local Optimization): the best service candidate that satisfies local constraints is selected

11 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

12 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: 100 95 80 100 95 80 . 65 45 30 15 qkz pkz 100 100 1.0 79 70 65 65 65 0.7 30 30 0.25 45 30 15 Quality Levels

13 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:

14 Step 2: Local selection of best candidates
Local Selection I Local constraints are sent to service brokers to perform local selection INPUT: Abstract composite service Service composer Service Broker 1 Service Broker 2 Service Broker n Best local candidate 1 Best local candidate n Best local candidate 2 QoS Registry OUTPUT: Executable composite service Step 2: Local selection of best candidates Service composer Local constraints Local constraints Quality levels Local constraints Quality levels Quality levels Service Broker 1 Service Broker 2 Service Broker n QoS Registry QoS Registry QoS Registry Step 1: Decomposition of global QoS constraints

15 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

16 Local Selection III QoS attributes Service candidates Utility values
normalization weighting Utility values sum Service Candidates

17 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

18 Results I

19 Results II

20 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

21 Thank you! Mohammad Alrifai (alrifai@L3S.de)
Thomas Risse


Download ppt "L3S Research Center University of Hanover Germany"

Similar presentations


Ads by Google