1 / 25

Distributed Automatic Service Composition in Large-Scale Systems

MIDDLEWARE SYSTEMS. RESEARCH GROUP. Distributed Automatic Service Composition in Large-Scale Systems. Songlin Hu*, Vinod Muthusamy + , Guoli Li + , Hans-Arno Jacobsen + * Chinese Academy of Sciences, Beijing + University of Toronto July 4, 2008.

Pat_Xavi
Télécharger la présentation

Distributed Automatic Service Composition in Large-Scale Systems

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. MIDDLEWARE SYSTEMS RESEARCH GROUP Distributed Automatic Service Composition in Large-Scale Systems Songlin Hu*, Vinod Muthusamy+, Guoli Li+, Hans-Arno Jacobsen+ * Chinese Academy of Sciences, Beijing + University of Toronto July 4, 2008 2nd International Conference on Distributed Event-Based Systems(DEBS 2008)

  2. Service-oriented computing Register services Find services Compose services Explosion ofservices Service composition becomes time consuming Automaticservice composition Automatic Service Composition

  3. Service 1 b a c Service 2 x z y Automatic service composition Current approaches are centralized Decentralized architecture is more appropriate Services are already distributed Improved scalability Load balance requests No single-point of failure Exploit similarity to publish/subscribe Data Query Service composition: Are services interoperable? Publish/subscribe: Does data match query? Automatic Service Composition

  4. Agenda • Background • Service composition terminology • Publish/subscribe semantics • Automatic service composition • Mapping to publish/subscribe domain • Distributed search algorithm • Evaluation • Sensitivity of distributed algorithm to various factors Automatic Service Composition

  5. SimplePrinter DuplexPrinter HTMLConv Rin Request3 Rout html print_status duplex_option postscript postscript html duplex_option print_status print_status pdf postscript Service relationships • Invocation defined by request and expected response parameters • Service defined by input/output parameters • Parameters are domain specific • Web Service: message schema • RPC: argument type Successor relationship Compatibility relationship Automatic Service Composition

  6. HTMLConv DuplexPrinter HTMLConv SimplePrinter WordConv DuplexPrinter PDFConv Request3 Rin Rin Request3 Request3 Rin Rout Rout Rout HTMLConv DuplexPrinter PDFConv Composite process Compatibility graph • Construct compatibility graph • Find subset • All inputs satisfied by outputs of a set of services/requests Automatic Service Composition DAGs that are possible processes

  7. Publisher Subscriber Subscriber Content-based pub/sub semantics Subscription: item = computer brand = dell price < 1500 No Intersection Advertisement: item = computer brand = ibm price < 2000 Intersection Subscription: item = computer brand = ibm price < 1500 Publication: item = computer brand = ibm price = 1400 Publication: item = computer price = 1000 Automatic Service Composition

  8. Automatic Service Composition Automatic Service Composition

  9. Search Request Service Agent Search Result Pub/Sub Broker Network Request Agent Architecture • Distributed • Exploit pub/sub matching to assist process search • Service agent registers services and participates in search algorithm • Is both a publisher and subscriber Automatic Service Composition

  10. SimplePrinter DuplexPrinter HTMLConv Rin Request3 Rout print_status duplex_option html duplex_option html postscript postscript pdf postscript print_status print_status Mapping to pub/sub domain Pub/sub intersection reveals compatibility relationships Subscription: html = * Advertisement: postscript = * pdf = * Subscription: postscript = * Advertisement: print_status > 0 Subscription: postscript = * Subscription: duplex_option > 0 Subscription: print_status > 0 Advertisement: html = * duplex_option = 0 Advertisement: print_status > 0 Automatic Service Composition

  11. 1 R 1 4 R R 2 3 R 2 5 R 5 R R 1 2 4 3 R 2 3 4 1 R 4 2 3 1 R 4 R 2 3 Process search • Request agent issues publication • Include request as a DAG Compatibility graph • Service agents with compatible services receive pub • Append themselves to DAG if they succeed • Send publication • Terminate when request agent receives a publication • DAG represents a potential process 2 1 3 5 4 Service Agent R R Pub/Sub Broker Network Request Agent Automatic Service Composition

  12. Evaluation Automatic Service Composition

  13. Setup • Algorithms implemented in Java • Using Padres distributed content-based pub/sub system • http://padres.msrg.utoronto.ca • Data centre environment • 14 machines with 1.86 GHz CPU and 4 GB RAM • Deployments • Centralized • Distributed • Hybrid: Centralized broker, distributed agents • Metrics • Search latency • Search message overhead Broker topology Distributed Centralized Hybrid Automatic Service Composition

  14. Search frequency • Tradeoff between centralized and distributed • Centralized suffers when frequency exceeds latency • Distributed suffers when frequency exceedslatency  number of machines • Near optimal parallelism • No difference in per search message overhead • Latency variations are due to queuing Automatic Service Composition

  15. Results per search • Linear relationship • Distributed suffers higher message overhead but enjoys shorter latencies • Overhead is distributed • Little benefit with hybrid • Pub/sub matching dominates Automatic Service Composition

  16. Impact of pub/sub matching • “Unused” registered services impact search latency • Due to slower pub/sub matching • Matching optimizations such as covering help What other matching optimizations are appropriate from these workloads? Automatic Service Composition

  17. Process length • Without concurrent requests • Distributed performs worse • Difference between distributed and centralized widens • With concurrent requests • Centralized is extremely overloaded • Distributed is relatively stable • Latency increases are largely due to pub/sub matching • Similar latency and message trends • Minimal impact of distributed agents (hybrid) Automatic Service Composition

  18. Conclusions • Explosion of services requires tools to simplify service composition • Data  E-R relationships  SQL • Web pages  hyperlink relationships  Google • Services  interoperability relationships  process search • Novel application of pub/sub to realize distributed automatic service composition • Distributed algorithm achieves near optimal parallelization of concurrent search requests • Exciting new opportunities • Autonomic service composition • Continuous search, result reuse, distributed administration • Pub/sub • New application scenario, workloads, optimization points Automatic Service Composition

  19. Research synergies • Process constraints • Path length. • Number of services. • Service properties • QoS, price, security, etc. • Semantic, fuzzy compatibility. Continuous search Notify when a new service results in a valid process. Automatic Service Composition Publish/Subscribe Reverse search Find processes that can compose a given service. Discover business opportunities of a service provider. Reuse search results Register found processes as another service. Service agent will append composite process to DAG. Automatic Service Composition

  20. Q&A DistributedAutomatic Service Compositionin Large-Scale Systemshttp://padres.msrg.toronto.edu Thank you Automatic Service Composition

  21. Extra slides Automatic Service Composition

  22. SimplePrinter DuplexPrinter HTMLConv Rin Request3 Rin Request2 Rout Rout PDFConv duplex_option html html print_status print_status postscript duplex_option html pdf postscript postscript postscript print_status print_status pdf Service relationships • Invocation defined by request and expected response parameters • Service defined by input/output parameters • Parameters are domain specific • Web Service: message schema • RPC: argument type Successor relationship Compatibility relationship Automatic Service Composition

  23. Pub/sub client Service registry Successor matching algorithm Publication cache Service agent components Acts as both publisher and subscriber Store and register services Detect predecessor sets. Supports AND-split and AND-join Store services that are compatible with but do no precede Automatic Service Composition

  24. Possible that no composition of services satisfy invocation parameters Difficult to detect this in a distributed algorithm Simple solution: Expire search More robust but expensive solutions possible Cycles are possible in compatibility relations Detect this during successor matching Caveat: Resulting processes will not have loops W3 W6 W1 W4 Rin W7 Rout W2 W8 W5 W4 Rin Rout W3 W1 W2 Issues Deadlocks Livelocks Automatic Service Composition

  25. Service deployment • In-order: adjacent services deployed to adjacent brokers • Alternating: adjacent services alternately deployed to brokers 1 and 13 • Poor deployment affects even sequential requests • But parallel requests are more sensitive to a poor deployment Automatic Service Composition

More Related