advanced publish subscribe communication services
play

Advanced Publish/Subscribe Communication Services Antonio Carzaniga - PowerPoint PPT Presentation

Advanced Publish/Subscribe Communication Services Antonio Carzaniga and Alexander L. Wolf University of Colorado at Boulder Boulder, Colorado USA {carzanig alw}@cs colorado edu {carzanig,alw}@cs.colorado.edu About the Tutors Antonio


  1. Advanced Publish/Subscribe Communication Services Antonio Carzaniga and Alexander L. Wolf University of Colorado at Boulder Boulder, Colorado USA {carzanig alw}@cs colorado edu {carzanig,alw}@cs.colorado.edu

  2. About the Tutors � Antonio Carzaniga – PhD: Politecnico di Milano, Italy – Previously at CEFRIEL � Alexander L. Wolf – PhD: University of Massachusetts, Amherst USA PhD: University of Massachusetts, Amherst USA – Previously at AT&T Bell Laboratories � General research interests � General research interests – software engineering, distributed systems, security and networking security, and networking – Developers of the Siena pub/sub system

  3. Outline � What is publish/subscribe communication? � Service models � Implementation models � Implementation models � Survey of representative pub/sub systems � Using publish/subscribe communication U i bli h/ b ib i ti � Advanced topics

  4. Outline � What is publish/subscribe communication? � Service models � Implementation models � Implementation models � Survey of representative pub/sub systems � Using publish/subscribe communication U i bli h/ b ib i ti � Advanced topics

  5. Origins of Publish/Subscribe � Database triggers – Ingres client client 2 li t 2 � Message-oriented middleware mailbox – IBM MQSeries mailbox client 1 � Message-based software bus architecture g � – Field client 1 client 2 – Sun ToolTalk Sun ToolTalk bus – DEC Fuse client 3

  6. Common Characteristics � Asynchrony – send and forget � Reactive – computation driven by receipt of message � Location/identity abstraction � Location/identity abstraction – destination determined by receiver, not sender � Loose coupling � Loose coupling – senders/receivers added without reconfiguration – one-to-many, many-to-one, many-to-many

  7. Levels of Deployment � From machines to whole networks – Single machine » call back, signal – LAN » RPC – WAN » client/server, overlay router network � Single machine/LAN solutions are mature � WAN (e.g., the Internet) solutions still require ( g , ) q significant new research advances

  8. Basic Approaches to Publish/Subscribe � Listener model – receivers register with senders – sender/receiver communication is point-to-point � Database trigger model – “senders” update tables senders update tables – “receivers” (or internal code) notified of changes � Broker model � Broker model – receivers register with common message broker – sender/receiver communication is mediated by d / i i ti i di t d b message broker through a middleware service

  9. Publish/Subscribe Middleware Service want United offers subscribe low air fares low air fares DEN MXP DEN-MXP notification to Europe October publish want want notify notify special offers publication by United publish/subscribe publish/subscribe Alitalia offers service service DEN-MXP subscription subscription Nov-Feb want to fly December subscriber DEN MXP DEN-MXP publisher

  10. Sampling of Applications � Gaming � File sharing � Workflow � Sensor grids � Auctioning � News distribution � Intrusion detection � Group communication � Network management � Resource discovery � Application � Software component management integration

  11. General Goals and Objectives � Dynamic integration of heterogeneous computing and information services � Timely information dissemination � Support for loosely-coupled, distributed applications li ti � Scalable deployment

  12. Outline � What is publish/subscribe communication? � Service models � Implementation models � Implementation models � Survey of representative pub/sub systems � Using publish/subscribe communication U i bli h/ b ib i ti � Advanced topics

  13. Basic Elements of a Service Model � Data model – structure – types � Subscription model – filter language filter language – scope – subscription modifications subscription modifications � General challenge – expressiveness versus scalability i l bilit

  14. Data Model Fare Offer United DEN MXP 850 USD string getAirline United DEN MXP 850 USD setAirline getOrigin tO i i list of values setOrigin United Airline <fare-offer> fare offer getDestination DEN Origin <al>United</al> setDestination <orig>DEN</orig> getPrice MXP Destination <dest>MXP</dest> <dest>MXP</dest> setPrice setPrice 850 Price <price>850</price> getCurrency USD Currency <cur>USD</cur> setCurrency </fare-offer> set of named values full type system tree of named values

  15. Subscription Model: Filter Language � Operators are implied by the data model prefix, suffix, substring, regular g g string expression value operators + indexing list value operators + selection named values value operators + structure walk p tree user-defined operators full type

  16. Example: Siena Data Model � A publication is a set of typed attributes attribute ≡ (type,name,value)

  17. Example: Siena Filter Language � A filter is a list of attribute constraints attribute constraint ≡ (type,name,operator,value)

  18. Example: Siena Matching Rules � Matching is defined by covering relations p matches f (or f covers p ) publication p filter f refundable = no airline = United price = 850 price = 850 price < 900 price < 900 destination = MXP price > 300 airline = United destination any y

  19. Scope/Expressiveness of Subscriptions � Channel joinChannel(37) Fare Offer Subject U it d United – channel identifier Ai li Airline channel DEN Origin 37 – equality over channel MXP Destination identifiers identifiers 850 850 Price Price Fare Offer Subject USD � Subject (or topic) Currency United Airline DEN subscribe(“Fare ∗ ”) Origin – designated subject field designated subject field MXP Destination – general filter applied to 850 Price designated field USD Currency Fare Offer Subject � Content United Airline subscribe(“Origin=DEN,Price<900”) DEN Origin – all message fields MXP Destination – general filter applied to 850 Price full message content USD Currency

  20. Multicast vs. Content-Based Pub/Sub Multicast Service Content-Based Service joinGroup( IF , group ) ifconfig( IF , predicate ) leaveGroup( IF , group ) ifconfig( IF , false ) ip_send( datagram ) send( message ) resource=printer resource=printer dest=224.11.22.33 dest=224.11.22.33 resource=printer resource=printer dest=224.11.22.33 dest=224.11.22.33 language=PS language=PS 224.11.22.33 dest=224.11.22.35 dest=224.11.22.35 resource=printer resource=printer 224.11.22.35 language=plc5 language=plc5 224.11.22.34 resource=printer resource=printer status=ready status=ready dest=224.11.22.34 dest=224.11.22.34 maker= HP maker= HP age > 3 age > 3 age 3 age 3 partition arbitrary subsets

  21. Multicast vs. Content-Based Pub/Sub � Special case of content-based pub/sub – joining multicast group g is equivalent to defining a receiver predicate that selects messages addressed to g dd d � Multicast designed for streaming media – relatively stable set of groups and membership – simple channel-based interface � Content-based pub/sub is intended to support unpredictable interaction patterns pp p p – sophisticated content-based interface

  22. Some Filter Language Issues � Negation operator � increased expressiveness � unclear utility set-of( ¬ f) ≡ Χ pub \ set-of(f) � User-defined operator � increased expressiveness increased expressiveness � unpredictable execution md5-hash(signature) = “7dc81ef” � Patterns � Patterns � increased expressiveness � � unclear choice of semantics l h i f ti � unpredictable execution (f 1 • f 2 )* • (f 3 |f 4 )

  23. Example: Siena Filter Pattern � A pattern correlates messages of interest f = f 1 followed by f 2 filter f 1 filter f 2 airline = United airline = United price < 900 price < 900 price < 1200 price < 1200 price ≥ 900 price > 300 destination destination any y any y

  24. Subscription Modifications � Incremental style – effect of each subscription is “additive” – new filter represents logical relation among subscriptions – service must provide an explicit unsubscribe command – client must “remember” subscription history � Subscribe-and-forget style – effect of each subscription is complete p p – no need for unsubscribe nor history

  25. Incremental Subscriptions airline = United airline = United = price < 400 i 400 price < 400 i 400 ⊕ airline = United airline = United airline = United ∨ ∨ = = destination = MXP price < 400 destination = MXP ⊕ airline = United airline = United airline = United ∨ = price < 900 price < 900 destination = MXP ⊕ airline = United airline = United airline = United airline = United airline = United airline = United ∨ = price < 650 price < 900 destination = MXP ⊕ airline = United i li U it d airline = United i li U it d = price < 900 destination = MXP

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend