MSc Course in Advanced Distributed Systems Session 1'2b : PublishSubscribe Communication Service PowerPoint PPT Presentation

presentation player overlay
1 / 24
About This Presentation
Transcript and Presenter's Notes

Title: MSc Course in Advanced Distributed Systems Session 1'2b : PublishSubscribe Communication Service


1
MSc Course in Advanced Distributed
SystemsSession 1.2b Publish/Subscribe
Communication Service
2
Session 1.2b Publish/Subscribe Communication
Service
  • Overview of Lecture
  • Motivation for publish/subscribe communication
    service
  • What is publish/subscribe service?
  • key functions and issues associated with
    publish/subscribe service
  • Classifications of publish/subscribe service and
    their differences
  • Suitability of publish/subscribe service for
    different environments
  • Research at Lancaster
  • Additional reading
  • http//www.cs.tcd.ie/publications/tech-reports/rep
    orts.02/TCD-CS-2002-14.pdf
  • Advanced CORBA programming with C, M.Henning,
    S. Vinoski . Chapter 20

3
Motivation for publish/subscribe communication
model
  • Limitations of client/server communication model,
    specially for WAN and mobile environments
  • Client/server communication model are based on
    synchronous request invocations
  • Many distributed applications find synchronous
    request invocation too restrictive
  • Wide area networks (WAN) and mobile computing
    environment requires more flexible and de-coupled
    communication style
  • Large scale distributed systems involve thousands
    of entities potentially distributed in WAN and
    /or wireless settings
  • Increasing number of distributed applications
    require anonymous and asynchronous communication
    style

4
Synchronous request invocations
Server
request
Client
Operation()
response
-Remote method invocations result in synchronous
execution of an operation provided by an object
-Both client( requestor) and server ( provider)
must be present and running -Client blocks until
operation returns -Client are aware of
destinations of request, since they hold object
references to target object -Only supports
uni-cast communication( one to one) E.g.
Standard CORBA method invocations, Microsoft
DCOM, Java Remote method invocations (RMI)
5
What is publish/subscribe communication model ?
  • P/S model represents an emerging paradigm for
    de-coupled and asynchronous connections between
    application components
  • The publish/subscribe system contain information
    providers, which publish events to the
    information consumers. The Consumers subscribe
    to particular categories of event
  • The P/S service ensures the timely delivery of
    published events to all interested subscribers
  • P/S service is also known as event service

6
Publish/Subscribe Middleware Service
Want champions league football news
REAL MADRID 4-2 MARSEILLE
Subscribe Publish Notify
Notification
Publication
Want weather news for Lancaster
Publish/Subscribe Service
Weather Lancaster sunny intervalsmin 11C max
20C
Subscription
Publisher
Want Traffic update for junction A6
Subscriber
7
Role of each participant
  • Publishers role Publishers generate event data
    and publishes them
  • Subscribers role Subscribers submit their
    subscriptions and process the events received
  • P/S service Its the mediator/broker that routes
    events from publishers to interested subscribers

8
Key attributes of P/S communication model
  • The publishing entities and subscribing entities
    are anonymous
  • The publishing entities and subscribing entities
    are highly de-coupled
  • Asynchronous communication model
  • The number of publishing and subscribing entities
    can dynamically change without affecting the
    entire system

9
Key functions implemented by P/Smiddleware
service
  • Event filtering (event selection)- The process
    which selects the set of subscribers that have
    shown interest in a given event
  • Event routing (event delivery) The process of
    routing the published events from the publisher
    to all interested subscribers

10
Event filtering Subject based vs. Content
based(1)
  • Subject based
  • Generally also known as topic based, group based
    or channel based event filtering.
  • Here each event is published to one of these
    channels by its publisher
  • A subscriber subscribes to a particular channel
    and will receive all events published to the
    subscribed channel.
  • Simple process for matching an event to
    subscriptions

11

Event filtering Subject based vs. Content
based(2)
  • Content based
  • More flexibility and power to subscribers, by
    allowing to express as an arbitrary query over
    the contents of the event.
  • E.g. Notify me of all stock quotes of IBM from
    New York stock exchange if the price is greater
    than 150
  • Added complexity in matching an event to
    subscriptions

12
Event routing
  • The basic P/S system consists of many event
    publishers, an event broker (or mediator) and
    many subscribers.
  • An event publisher generates an event in response
    to some change it monitors
  • The events are published to an event broker which
    matches events against all subscriptions
    forwarded by subscribers in the system.
  • Event broker system could have either a single
    event broker or multiple distributed event
    brokers coordinating among themselves

13
Event routing
C1,C2,C3 are subscriptions of S1,S2,S3
respectively
P
C1
S1
Event broker system
P
S2
C2
P
C3
S3
P
OR
Single broker
P- Event publisher
S Event subscriber
Cluster of cooperating brokers
14
Basic elements of P/S model
  • Event data model
  • Structure
  • Types
  • Subscription model
  • Filter language
  • Scope (subject, content ,context)
  • General challenge
  • - Expressiveness vs. scalability

15
Classification of publish/subscribe systems(1)
  • Peer to Peer /Listener model
  • Subscribers register at specific named publishing
    entities
  • Publishing entities deliver events to specific
    named subscribing entities directly
  • Requires subscribing entities to have some
    references of publishing entities
  • Requires publishing entities to have references
    of all subscribers it intends to notify about
    events
  • E.g. Java distributed event service, JMS, Used in
    JINI

16
Classification of publish/subscribe systems(2)
  • Broker ( Mediator) model
  • Subscribers register their subscriptions with a
    common event mediator
  • Publishers forwards events to the common event
    mediator
  • Mediator takes care of receiving events from
    publishers and delivering them to all interested
    subscribers
  • Mediators can be single mediator or multiple
    mediators
  • Multiple mediators co-operate among themselves to
    achieve the common brokering facility provided to
    publishers and subscribers.
  • E.g. CORBA Event service, JMS, CORBA Notification
    service, SIENA, JEDI etc

17
Classification of publish/subscribe systems(3)
  • Implicit model
  • Subscribing entities subscribe( or register) to
    particular event types rather than with a
    mediator or publishing entity
  • Publishing entities generate event of some type
    which are delivered to the subscribed entities
  • Publishers or subscribers need not hold explicit
    references to mediators or pub/sub entities.
  • E.g. STEAM, Cambridge event model (CEM)

18
Sampling of applications
  • Highly suited for mobile applications, ubiquitous
    computing and distributed embedded systems
  • Examples include
  • Gaming
  • Workflow
  • Auctioning
  • Intrusion detection
  • Intelligent office
  • News distribution
  • File sharing
  • Resource discovery
  • Sensor grids

19
Suitability of publish/subscribe middleware
  • Highly suited for mobile computing
  • Highly suited for ubiquitous computing and
    distributed embedded systems
  • Suited to build distributed applications
    consisting a large number of entities
  • Robust Failure of publishers or subscribers
    does not bring down the entire system
  • Many variations to suit different environments
  • LAN CORBA Event service, Java distributed event
    service ,Real time CORBA event service
  • WAN SIENA, JEDI etc Still require significant
    research advances
  • Mobile environments JEDI, STEAM Still require
    significant research advances
  • http//www.cs.colorado.edu/serl/dot/siena.html
  • http//www.research.ibm.com/gryphon/

20
Early experience at Lancaster-CORTEX project
  • Publish/subscribe middleware suited for mobile
    environment
  • Uses implicit model
  • No reliance on fixed event brokers or system wide
    services
  • Supports subject, content, context based event
    filtering
  • XML based event data model
  • Utilised in two scenarios
  • Smart room ( Interactive innovations lab)
  • Cooperating cars with traffic light
  • http//www.comp.lancs.ac.uk/computing/research/mpg
    /projects/cortex/

21
Cooperating Cars Application
Satellites
Car publishes on Carcontrol channel
TL publishes on Carcontrol channel
Car subscribes to CarControlChannel Receives
events from other cars, Traffic lights
IEEE 802.11b(ad-hoc) ---Event Channel---CarControl
Channel
Car A
Car B
22
Video clip
23
Analysis
  • The existing mature publish/subscribe solution
    for LAN ( E.g. CORBA Event service, Java event
    service ) have some limitations
  • New standards are advancing such as CORBA
    Notification service, JMS to address some of the
    limitations for LAN
  • Research on P/S required for WAN and specially
    for mobile environments still not mature

24
Expected Learning Outcomes
  • To understand the benefits provided by
    publish/subscribe communication model
  • To be able to compare publish/subscribe with
    other communication models
  • To understand the core functions and key features
    related to publish/subscribe
  • To understand the various classifications of
    publish/subscribe models and their
    advantages/disadvantages
Write a Comment
User Comments (0)
About PowerShow.com