1 / 34

A Distributed Framework for Reliable and Efficient Service Choreographies

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.

maja
Download Presentation

A Distributed Framework for Reliable and Efficient Service Choreographies

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Distributed Framework for Reliable and Efficient ServiceChoreographies Young Yoon, Chunyang Ye and Hans-Arno Jacobsen

  2. What is service choreography? Autonomous and distributed collaborationamongst independently developed services. WWW'11

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

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

  5. Semantic conflictBehavior that does not conform to the collaboration specification WWW'11

  6. “ 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

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

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

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

  10. Goal 1: Prevent semantic conflict Goal 2: Build a distributed framework Goal 3: Make the framework be efficient WWW'11

  11. Enrich safety constraints during the decomposition. WWW'11

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

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

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

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

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

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

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

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

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

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

  22. Decomposition overhead WWW'11

  23. Task increase per partner WWW'11

  24. Goal 1: Prevent semantic conflict Goal 2: Build a distributed framework Goal 3: Make the framework be efficient WWW'11

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

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

  27. Coordination overhead WWW'11

  28. Scalability 14% ↑ 60% ↑ WWW'11

  29. Goal 1: Prevent semantic conflict. Goal 2: Build a distributed framework. Goal 3: Make the framework be efficient. WWW'11

  30. Minimize the coordination overhead. Distance from candidate location to task ri Weight: Execution time of task ri WWW'11

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

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

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

  34. Thank You! http://msrg.org yoon@msrg.utoronto.ca WWW'11

More Related