Download presentation
Presentation is loading. Please wait.
Published byJasmin Blankenship Modified over 9 years ago
1
ACM TRANSACTIONS ON THE WEB, VOL. 1, NO. 1, ARTICLE 6, PUBLICATION DATE: MAY 2007 69721033 陳郁婷 Efficient algorithms for Web services selection with end-to-end QoS constraints
2
Outline Introduction System architecture Service selection algorithms for sequential flow structure Service selection algorithms for general flow structure Performance study Conclusion
3
introduction we design a broker-based architecture called QBroker, to provide end-to-end QoS management for distributed services. The main functions of Qbroker service discovery, planning, selection,and adaptation. efficiency is dominated by the running time of the service selection algorithm. service selection algorithms combinatorial model multidimension multichoice knapsack problem (MMKP) graph model multiconstrained optimal path (MCOP) problem In both models, a user-defined utility function of some system parameters may be specified to optimize application-specific objectives.
4
System architecture QoS service broker Qbroker SYSTEM MODEL AND PARAMETERS Composition Model System Notations Utility Function
5
Qbroker help users construct composite services acts as an external, independent broker entity not a mandatory layer between service clients and providers service requests to service providers can be invoked by users directly
6
QoS Web service composition
7
Composition Model
8
System Notations Atomic service (component service) (s ij ) An atomic service sij is associated with a QoS vector q ij = [q 1 ij,.., q n ij ] T = t 1 + max(t 2 + p 1 ∗ t 4 + p 2 ∗ t 5, t 3 + K ∗ t 6 ) + t 7 C = c 1 + c 2 + p 1 ∗ c 4 + p 2 ∗ c 5 + c 3 + K ∗ c 6 + c 7
9
Utility Function μ – average of the QoS values σ – standard deviation of the QoS values w α and w β - weights for each QoS attribute (0 < w α, w β < 1) normalized by their averages and standard deviations not be biased by any attribute with a large value
10
Service Selection Algorithms For Sequential Flow Structure Algorithms for the Combinatorial Model BBLP Algorithm WS_HEU Algorithm Algorithms for the Graph Model
11
Algorithms for the Combinatorial Model
12
BBLP Algorithm branch-and-bound fixed utility (F f ) produced by fixed classes utility upper bound (F b ) F b = F f + F LP branching class (S g ) the solution of F LP
13
BBLP iteratively performs 1. Find the utility upper bound F b for each node in the search tree branchs F b is computed by the linear relaxation of the whole problem. 2. Select the node with the largest F b and expand it through Sg largest x ij (closest to 1) will have the highest chance to be chosen in the final solution. class will be fixed by adding new nodes to the search tree as the children of the current node Each of the new nodes corresponds to select one service in S g
14
BBLP
15
WS_HEU O(N 2 (l −1) 2 m)
16
Algorithms for the Graph Model MCSP every service candidate is a node in the service candidate graph if a link from F i to F j exists in the function graph, then from every service candidate for F i to every candidate for F j, there’s a link every service candidate v in the graph has a benefit value and several QoS attributes set network QoS attributes of the links between every two nodes add a virtual source node v s and sink node v d The QoS attributes of these links are set to zero add QoS attributes of the node to its incoming link and compute the utility of every link according to Utility Function
17
MCSP-K keeping only K paths on each node selection criteria are based on the nonlinear cost function concept that is used to combine the multiple constraints into one The paths with K minimum g λ or ξ values will be kept at each intermediate will never prune out a feasible path if one exists.
18
Service Selection Algorithms For General Flow Structure Algorithms for the Combinatorial Model WS_IP Algorithm IP Problem WFlow Algorithm Algorithms for the Graph Model
19
Integer Programming 在一組特定的限制下尋找極大化或極小化目標函數 與線性規劃的主要差異為決策變數要求全部或部分變數必須是整數 branch-and-bound Branch-and-Cut Cutting Plane 0-1 Integer Programming Problem(0-1 IP Problem) a set of service selection variables a set of problemconstraints an objective function Variables definition Constraints definition Objective function definition
20
branch-and-bound 可行域 OABD 内整數點,放棄整数要求后,最优解 B(9.2,2.4) Z0=58.8 而原整數規劃最優解 I(2,4) Z0=58 ,實際上 B 附近四个整數點 (9,2)(10,2)(9,3)(10,3) 都不是原規劃最優解。 I(2,4) B(9.2,2.4) D
21
問題分解 假如把可行域分解成五個互不相交的子問题 P 1 P 2 P 3 P 4 P 5 之 和, P 3 P 5 的定义域都是空集 而放棄整數要求後 P 1 最優解 I(2,4),Z 1 =58 P 2 最優解 (6,3),Z 2 =57 P 4 最優解 (98/11,2),Z 4 =52(8/11) I(2,4) B(9.2,2.4) D P1P1P1P1 P2P2P2P2 P4P4P4P4
22
樹狀圖 X 1 2 X 1 6 X 2 3 X 2 2 X 1 3 X 1 7 X 2 4 X 2 3 P1P1 P5P5 P4P4 P2P2 P3P3 P
23
IP Problem Formulation Execution Route (R) Sequential Path (P)
24
IP Problem Formulation Variables definition x ij (0 ≤ i ≤ N,0 ≤ j ≤ L) If service s ij is selected for class Si, x ij = 1, otherwise x ij = 0 Constraints definition Exactly one service is selected for each service class End-to-end QoS constraint for a sequential path End-to-end QoS constraint for an execution route
25
IP Problem Formulation Objective function definition EU The objective is to maximize the effective utility of all execution routes HP The objective is to maximize the utility of the route with the highest probability
26
WS_IP Algorithm WS_IP lpx_intopt routine in GLPK (http://www.gnu.org/software/glpk/)http://www.gnu.org/software/glpk/ GNU Project launched in 1984 to develop a complete Unix-like operating system which is free software: the GNU system.
27
Wflow 沿用 WS_HEU 架構 近最佳解 O(N 2 (l −1) 2 m) Wflow_EU Wflow_HP
28
Wflow_EU Feasible solution only if all execution routes and sequential paths can meet the corresponding constraint requirements. Utility definition Feasible upgrade An item for feasible upgrades must meet two conditions: 1. it will increase the combined utility 2. it will not cause any execution route or sequential path to violate the constraint requirements
29
Wflow_HP Initial solution feasibility check. only checks the feasibility of the execution route with the highest probability Solution optimization On the first pass of the optimization procedure only considers the feasibility of R max After we find the feasible solution for R k, k = max the optimization procedure will maintain the feasibility of all routes. Feasible solution for R k, k ≠ max If the utility of Rmax has been downgraded go back to Steps (2) and (3) to look for further improvements.
30
Algorithms for the Graph Model fork nodes for parallel and conditional paths services selected must be the same for every branch join nodes for parallel and conditional paths services selected for different branches need to be merged together MCSP_General MCSP-K_General
31
Merge operations Merge parallel branches QoS values of all branches need to be combined combining the utility of all branches Merge conditional branches 不需要 merge
32
Performance Study - Sequential Flow Structure Test Case Generation use a degree-based Internet topology genrator, Inet 3.0 Generation power-law random graph with 4,000 nodes to represent the Internet randomly select 25 ∼ 2,500 nodes as service candidates 2 nodes as the source and the sink The number of service classes in the process plan ranges from 5 to 50 generate 10 flow instances each with 10 sets of attributes for each instance report the average value of the 100 cases
33
WS_HEU vs. BBLP BBLP/WS_HEU 5 candidates for each service class WS_HEU/HEU saves 20%–70% running time while achieving the same utility
34
MCSP-K vs. MCSP Table V shows the set-up of 25 performance runs for evaluating MCSP-K and MCSP The performance runs are divided into 5 groups, each with the same number of service candidates (between 10–50)
35
Performance Study - General Flow Structure Test Case Generation randomly generate composite service structures with two or more execution routes 100 structures are generated each containing two or more composition patterns (sequential, parallel, conditional, loop) generate up to four QoS attributes and utility values for service candidates: response time, cost, availability, and reliability. Each is assigned a randomly generated value: q α ij (α = 1, 2, 3, 4) with a uniform distribution between [50,200]. The utility of each service Fij is also generated as a random value with a uniform distribution between [1, 500] also generate the utility F(μ, ν) of each link as a random value with a uniform distribution between [1,200] Finally, to check the feasibility for each execution route
36
WFlow vs. WS_IP WFlow / WS_IP WFlow (IM1) Local selection where the service with the highest utility from each service class is selected (IM2) MMKP selectionwhere item ρi with from each service class is selected WFlow performs very well in all situations by achieving near- optimal results (approximation ratio > 90% in most cases ) while it only requires a small portion of the computation of WS IP (less than 10%) IM2 usually achieves a better performance than IM1
37
MCSP_General vs. MCSP-K_General It can be seen that there is no guarantee that when K increases, a better utility will be achieved utility function is not used togetherwith the cost function as the criteria to select K intermediate paths in MCSP-K algorithms MCSP-K General does not always perform better with a larger K value
38
Conclusion algorithms are designed for two flow structures: for service processes with a sequential flow structure for service processes with a general flow structure including loops, conditionals, and parallel operations Both optimal and efficient heuristic algorithms have been presented We believe the proposed models and algorithms provide a practical solution to the end-to-end QoS guarantee on service processes
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.