340 likes | 449 Views
A Distributed Framework for Reliable and Efficient Service Choreographies. Young Yoon , Chunyang Ye and Hans-Arno Jacobsen. What is s ervice c horeography ?. Autonomous and distributed collaboration amongst independently developed services.
E N D
A Distributed Framework for Reliable and Efficient ServiceChoreographies Young Yoon, Chunyang Ye and Hans-Arno Jacobsen
What is service choreography? Autonomous and distributed collaborationamongst independently developed services. WWW'11
Service choreographyExample: Credit card fraud detection process Auditing partner sends fraud warnings to Accounting partner G0 Customer service issues refund to Customer G1 WWW'11
Auditing partner sends fraud warnings to Accounting partner G0 Customer service issues refund to Customer G1 Decompose L0 L0 L0 L0 Send fraud warning messages Receive fraud warning message Issue refund Receive refund message Auditing service Accounting service CRM service Client service WWW'11
Semantic conflictBehavior that does not conform to the collaboration specification WWW'11
“ Someone used my credit card to purchase train ticket!” Send fraud warning messages Receive fraud warning message Issue refund Receive refund message Auditing service Accounting service CRM service Client service Issue refund Refund CRM service behavedarbitrarily and causedsemantic conflict. Travel agency Customer account WWW'11
The cause of the semantic conflictThe missing synchronization Auditing partner sends fraud warnings to Accounting partner G0 Accounting partner orders customer service to issue refund Gx Customer service issues refund to Customer G1 WWW'11
Another example: Internal operation in a car company HQ ”clear out” Dealer Dealers ask Coordinator to pick G1 or G2 Marketing“Sales trend update” Factory Operations manager “decrease production rate” change to Factory WWW'11
Goal 1: Prevent semantic conflict. Enrich safety constraints Goal 2: Build a distributed framework Govern the enforcement of safety constraints Goal 3: Make the framework be efficient Don’t let the safety constraints hamper the performance of the collaboration WWW'11
Goal 1: Prevent semantic conflict Goal 2: Build a distributed framework Goal 3: Make the framework be efficient WWW'11
m1 r1 r2 G1 rx: collaborating partner x G2 G3 m1 r1 r2 m2 m3 : r1 sends m1 r2 r3 r4 r1 r5 m4 r1 r3 G4 WWW'11
m1 m1 r1 r2 r1 r2 G1 G1 c1 c2 r2 r3 r2 r1 G2 G3 G2 G3 m2 m3 m2 m3 r3 r4 r1 r5 r3 r4 r1 r5 c3 c4 r4 r1 r5 r1 m4 m4 r1 r3 r1 r3 G4 G4 WWW'11
m1 r1 r2 G1 c1 c2 r2 r3 r2 r1 (G1) : projection of G1 x(m1): send m1 x(m1): receive m1 G2 G3 m2 m3 r3 r4 r1 r5 c3 c4 r4 r1 r5 r1 m4 r1 r3 G3 WWW'11
m1 r1 r2 G1 x(m1) (G1) c1 c2 r2 r3 r2 r1 G2 G3 m2 m3 r3 r4 r1 r5 c3 c4 r4 r1 r5 r1 r1 m4 r1 r3 G3 WWW'11
m1 r1 r2 G1 x(m1) (G1) c1 c2 r2 r3 r2 r1 (G2) x(c3) G2 G3 m3 m2 r3 r4 r1 r5 c3 c4 r4 r1 r5 r1 r1 m4 r1 r3 G4 WWW'11
m1 r1 r2 G1 x(m1) (G1) c1 c2 r2 r3 r2 r1 (G2) x(c3) G2 G3 m2 m3 r3 r4 r1 r5 c3 c4 (G4) x(m4) r4 r1 r5 r1 r1 m4 r1 r3 G4 WWW'11
m1 r1 r2 G1 x(m1) (G1) c1 c2 r2 r3 r2 r1 (G2) x(c3) x(c2) (G1) G2 G3 m2 m3 r3 r4 r1 r5 c3 c4 (G4) x(m4) r4 r1 r5 r1 r1 m4 r1 r3 G3 WWW'11
m1 r1 r2 G1 x(m1) (G1) c1 c2 r2 r3 r2 r1 (G2) x(c3) x(c2) (G1) G2 G3 m2 m3 r3 r4 r1 r5 (G3) x(m3) c3 c4 (G4) x(m4) r4 r1 r5 r1 r1 m4 r1 r3 G3 WWW'11
m1 r1 r2 G1 x(m1) (G1) c1 c2 r2 r3 r2 r1 (G2) x(c3) x(c2) (G1) G2 G3 m2 m3 r3 r4 r1 r5 (G3) x(m3) c4 c3 (G4) (G3) x(m4) x(c4) r4 r1 r5 r1 r1 m4 r1 r3 G3 WWW'11
Revisiting the credit card fraud detectionprocess Receive confirmation Accounting service Receive fraud warning message Send fraud warning messages Issue refund Receive refund message Auditing service CRM service Client service Send confirmation WWW'11
Decomposition overhead WWW'11
Task increase per partner WWW'11
Goal 1: Prevent semantic conflict Goal 2: Build a distributed framework Goal 3: Make the framework be efficient WWW'11
S S S S S S S CA LP CA LP B B LP S Coordinator LP B S S B CA B B Coordinator CA B Constraint Deployer LP LP S S S S LP (Sub-constraints):Local Process CA:Choreography Agent B: Pub/Sub Broker WWW'11
CA LP CA LP LP (Sub-constraints):Local Process B B LP Coordinator LP B B CA CA:Choreography Agent B B Coordinator CA B B: Pub/Sub Broker Constraint Deployer LP LP Local Process Interpreter Process Instance Initializer Choreography Message Generator Choreography Message Listener CA / Coordinator Pub/Sub Translator Pub/Sub Communication Interface WWW'11
Coordination overhead WWW'11
Scalability 14% ↑ 60% ↑ WWW'11
Goal 1: Prevent semantic conflict. Goal 2: Build a distributed framework. Goal 3: Make the framework be efficient. WWW'11
Minimize the coordination overhead. Distance from candidate location to task ri Weight: Execution time of task ri WWW'11
m1 r1 r2 G1 Higher weights given to atask with more followingtasks. There can be nested picks.Thus weights are recursivelycomputed. Pick G2 G3 m2 m3 r3 r4 r1 r5 Pick m5 m4 r2 r8 r6 r7 G5 G4 WWW'11
The bottom line 1: We prevent semantic conflict even whenthe collaboration is dynamic. Because of the agent-based frameworkand enrichment of safety constraints during reliable decomposition. WWW'11
The bottom line 2: Efficient and scalable enforcement of safety constraintsBecause of the novel coordinator placement method and concurrent execution of decomposed tasks through parallel and distributed choreography agents. WWW'11
Thank You! http://msrg.org yoon@msrg.utoronto.ca WWW'11