240 likes | 381 Views
Ensuring Consistent Termination of Composite Web Services. An Liu 1,2,3 and Qing Li 2,3 1 Department of Computer Science and Technology University of Science & Technology of China (USTC), Hefei, China 2 Joint Research Lab of Excellence
E N D
Ensuring Consistent Termination of Composite Web Services An Liu1,2,3 and Qing Li2,3 1 Department of Computer Science and Technology University of Science & Technology of China (USTC), Hefei, China 2 Joint Research Lab of Excellence CityU-USTC Advanced Research Institute, Suzhou, China 3 Department of Computer Science City University of Hong Kong (CityU), Hong Kong, China liuan@ustc.edu itqli@cityu.edu.hk
Outline • Problem Statement and Background • Problem Modeling and Methodology • Framework • Conclusion and Future Work
Booking Request Flight Request Hotel Request Taxi Request Flight Res. OK Hotel Res. OK Taxi Res. OK Hotel Cancellation Taxi Cancellation Booking Response Web Services Composition Web Services Client App Travel Agent Flight Hotel Taxi Timeline Reliable Composition Needs Transactional Support!
ACID Transaction Insufficient • Composite web services • Last for hours or days • Work in an open environment • Cross administrative boundaries • ACID transaction is insufficient • Trust and timeliness no longer apply • Compensation-based transaction • Nocommontransactionsemantics
Some Representative Related Work • Transaction semanticsdeclaration • Mikalsen et al. (2002): declare transaction semantics at operation level and transactional property at service level • Transactional property (TP)deduction • Vidyasankar and Vossen (2004): deduct TP of composite services from TP of component services • Different Atomicity Requirements • Fauvet et al. (2005): support flexible atomicity through TP-based service selection • Bhiri et al. (2005): verify Accepted-Termination-States (ATS) based atomicity by some transactional rules • Montagut and Molva (2006): support ATS-based atomicity through TP-based service selection and automatic coordination
State of the Art • Current research has • Defined TP of web services • Guaranteed Reliable Service Composition in the context of heterogeneous TP • Autonomy of services was overlooked • Compensation has temporal and cost constraints(Benatallah et al. 2004) • e.g., deadline of hotel reservation cancellation
Problem Statement • How to get reliable composition when both autonomy and heterogeneity are considered? • Given • The control flow of a composite service • Component services with heterogeneous TP • Temporal constraints of compensation • How to get reliable composition where the composite service will terminate in a consistent state?
Outline • Problem Statement and Background • Problem Modeling and Methodology • Framework • Conclusion and Future Work
Definitions • Transactional Property (TP) of web services • Compensatable (c): normal operation (on) and compensation operation (oc) • Retriable (r): Only normal operation • Pivot (p): Only normal operation • Temporal property of operations • Executiontime (tx): e.g., 5 seconds • Availabletime (ta): e.g., [9am, 5pm] • Deadline: Maximal Compensatable Time (MCT) • For compensation op, ta=[t, t+MCT]
Definitions (cont.) • Service s: 5-tuple(tp, on, oc, t, sta) • tp{r, c, rc, p} • on & oc : normal and compensation operation • t = (ts, te): starting and ending time • sta{initial, active, completed, aborted, failed, cancelled, compensated}: current state • Process: G(Vt, Vo, E) • Vo : set of control flow op. (cfo), where cfo{AND-split, AND-join, XOR-split, XOR-join, OR-split, OR-join, start-loop, end-loop} • G(Vs, Vo, E): an instance of process G(Vt, Vo, E)
Consistent Termination Condition • A composite service sc will always terminate in a consistent state if the consistent termination condition (CTC) holds: vi.tp{c, rc}, sc.t.te vi.oc.tafor vi Vs in G • Example: • sc, s1s2 • if s1.on.tx=2 & s1.oc.MCT=5 & s2.on.tx=4 • then s1.oc.ta=[2,7], sc.t.te=6
CTC Verification • Precondition: global view of a composite service: control flow, transactional and temporal property • Method: simple calculation • Problem: NOT easy to get a global view • Dynamic selection • Multi-level composition
Methodology • Assumptions • A1: only elementary component services • A2: static service selection • A3: only compensatable component services • A4: only AND-split and AND-join operators
Outline • Problem Statement and Background • Problem Modeling and Methodology • Framework • Conclusion and Future Work
CTC Verification Examples B A D C 11 10 11 10 17 16 [11,31] [16,28] [8,16] [11,31] [10,30] [8,16] 10 12 11 10 16 18 17 12 11 10 11 9 16 10 [18,30] [2,17] [16,28] [2,17] [11,31] [10,30] [9,17] [16,28] [12,20] [10,18] [11,19] [17,29]
Scheduling Algorithms • Motivation: different scheduling algorithms lead to different results of CTC verification, which decide whether to abort the service or not • Objective: design a scheduling algorithm which can decrease the possibility of service abortion • Some algorithms • Immediate scheduling • Minimal delay scheduling • Maximal delay scheduling • Average delay scheduling • …, optimal scheduling algorithm?
Inaccurate Global View • Problems • Uncertainty of Execution Time (UET) • Information Missing (IM) • IM1: execution time of normal operation is unknown • IM2: available time of compensation operation is unknown • Solution • UET • Scheduling algorithms • Dynamic monitoring mechanism • IM1: UET variation (increased execution time) • IM2: Dynamic monitoring mechanism
Removing Assumptions • A4 (only AND-split and AND-join operators) • Loop: UET variation • XOR/OR: pseudo AND operator • A3 (only compensatable component services) • Retriable: safely ignored • Pivot: process graph division • A2 (static service selection) • IM1 & IM2 • A1 (only elementary component services) • IM1 & IM2
Time Complexity • CTC verification: O(n+e) • Dynamic monitoring: O(n2+ne) • Total time complexity: O(n2+ne)
Outline • Problem Statement and Background • Problem Modeling and Methodology • Framework • Conclusion and Future Work
Conclusion and Future Work • A framework • Assists selection of services based on transactional and temporal property • Ensures consistent termination under constrained compensation • Some next steps • Minimal-Abort-Possibility scheduling algorithms • Cost constraints • Integration with web services execution engine