Indirect Communication Paradigms (or Messaging Methods)

Slides:



Advertisements
Similar presentations
DISTRIBUTED COMPUTING PARADIGMS
Advertisements

From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 6: Indirect.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 1 Characterization.
Lab 2 Group Communication Andreas Larsson
Distributed Systems Fall 2010 Replication Fall 20105DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Group Communication Phuong Hoai Ha & Yi Zhang Introduction to Lab. assignments March 24 th, 2004.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Hermes: A Distributed Event- Based Middleware Architecture Peter Pietzuch and Jean Bacon 1st DEBS Workshop, Vienna,
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
Background Notification services in LAN Provides Notification Selection Notification Delivery Done on a centralized server (hence not scalable) Challenge.
Distributed Publish/Subscribe Network Presented by: Yu-Ling Chang.
Exercises for Chapter 2: System models
Content-Based Routing in Mobile Ad Hoc Networks Milenko Petrovic, Vinod Muthusamy, Hans-Arno Jacobsen University of Toronto July 18, 2005 MobiQuitous 2005.
Slides for Chapter 14: Replication From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley 2001.
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
Lab 2 Group Communication Farnaz Moradi Based on slides by Andreas Larsson 2012.
Introduction. Readings r Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 m Note: All figures from this book.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Farnaz Moradi Based on slides by Andreas Larsson 2013.
Distributed Systems Principles and Paradigms Chapter 12 Distributed Coordination-Based Systems 01 Introduction 02 Communication 03 Processes 04 Naming.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 21: Designing.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Design of Parallel and Distributed.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Fault Tolerant Services
Exercises for Chapter 15: COORDINATION AND AGREEMENT From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley.
Information-Centric Networks10b-1 Week 10 / Paper 2 Hermes: a distributed event-based middleware architecture –P.R. Pietzuch, J.M. Bacon –ICDCS 2002 Workshops.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
Information-Centric Networks Section # 10.2: Publish/Subscribe Instructor: George Xylomenos Department: Informatics.
Replication and Group Communication. Management of Replicated Data FE Requests and replies C Replica C Service Clients Front ends managers RM FE RM Instructor’s.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Indirect Communication.
Exercises for Chapter 2: System models From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Pearson Education 2005.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 System Models by Dr. Sarmad Sadik.
Indirect Communication Indirect Communication is defined as communication between entities in DS through intermediary with no direct coupling b/w sender.
RPC 6/14/20161BALAJI K - AP. Design issues of RPC Programming with interfaces Call Semantics associated with RPC Transparency and related to procedure.
Group Communication A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types.
Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Chapter 1 Characterization of Distributed Systems.
PERFORMANCE MANAGEMENT IMPROVING PERFORMANCE TECHNIQUES Network management system 1.
1 CMPT 471 Networking II Multicasting © Janice Regan,
Chapter 1 Characterization of Distributed Systems
Exercises for Chapter 11: COORDINATION AND AGREEMENT
Last Class: Introduction
Peer-to-peer networking
Text extensions to slides © David E. Bakken, 2014
Slides for Chapter 2: Architectural Models
Programming Models for Distributed Application
Slides for Chapter 1 Characterization of Distributed Systems
Introduction to locality sensitive approach to distributed systems
Slides for Chapter 2: Architectural Models
Slides for Chapter 1 Characterization of Distributed Systems
Distributed Publish/Subscribe Network
EEC 688/788 Secure and Dependable Computing
Distributed Systems through Web Services
Indirect Communication Paradigms (or Messaging Methods)
Exercises for Chapter 16: Distributed Shared Memory
Distributed File Systems
Indirect Communication
Message Queuing.
Slides for Chapter 1 Characterization of Distributed Systems
Slides for Chapter 15: Replication
B. Ramamurthy Based on Paper by Werner Vogels and Chris Re
Slides for Chapter 1 Characterization of Distributed Systems
Indirect Communication Paradigms (or Messaging Methods)
EEC 688/788 Secure and Dependable Computing
Text extensions to slides © David E. Bakken,
EEC 688/788 Secure and Dependable Computing
Slides for Chapter 18: Replication
Network management system
Exercises for Chapter 15: Distributed Multimedia Systems
Presentation transcript:

Indirect Communication Paradigms (or Messaging Methods) Ch. 6 and extra notes B.Ramamurthy 4/3/2019 B.Ramamurthy

Introduction How important is this topic? Messaging? Essence of indirect communication is to communicate through an intermediary and hence have no direct coupling between the sender and one or more receivers. 4/3/2019 B.Ramamurthy

Different types Group communication: communication via a group, sender is unaware of the identity of the recipient. Example: tweet Publish-subscribe: Disseminating events to multiple recipients through an intermediary; Events+ listeners; Example: stock price limit notification (buy/sell) Message queue: messages are sent to a queue, receivers extract it from the queue; Example: task schedulers Shared-memory: an abstraction of global shared memory; example: Google (whiteboard) docs 4/3/2019 B.Ramamurthy

Space and Time Coupling Time Coupled Time uncoupled Space coupled Communicate directly towards a given receiver(s) that must exist at that time. Ex: RPC/RMI Communication directed toward a receiver(s) that can have independent lifetime Eg. Email Space uncoupled Sender need not know the identity of the receiver(s); receivers must exist Ex: IP Multicast; audio, video streaming Sender need not know identity of receiver(s); receivers can have independent lifetime Ex: pub/sub? Ch.6 4/3/2019 B.Ramamurthy

Topics for discussion Group Communication Publish – Subscribe systems Message queues Shared Memory approaches 4/3/2019 B.Ramamurthy

I. Group Communication Group communication is an important building block for distributed systems: Key areas of application include: Reliable dissemination of information to a number of clients Support for collaborative applications Support for a range of fault-tolerant strategies, including consistent update of replicated data Load balancing strategies 4/3/2019 B.Ramamurthy

Programming model: key concepts Group and group membership Processes to join and leave group Process to send a message to subset (multicast) and all (broadcast) Closed and open groups: people outside can send if it is open Overlapping and non-overlapping Synchronous and asynchronous Reliability and ordering of messages: FIFO, Causal,Total 4/3/2019 B.Ramamurthy

Open and closed groups Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005

The role of group membership management Join Group address expansion Multicast communication send Fail Group membership management Leave Process group Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012

Group Membership Management Provide interface for group membership changes Failure detection (unreachable etc.) Notifying members about changes Performing group address expansion Example application of group communication: Whatsapp (read about its history for inspiration) 4/3/2019 B.Ramamurthy

II. Publish Subscribe Model Distributed event based system Most widely used indirect communication system (?) A publish-subscribe system is a system where publishers publish structured events to an event service and subscribers express interest by subscriptions. The task of the pub/sub system is to match the published events and ensure correct delivery of event notifications. Fundamentally one-to-many communication paradigm. Heterogeneity of components Asynchronicity in operation Delivery guarantees (3 secs realtime delivery assurance by Bloomberg!) Do you see the difference between group comm and oub/sub? 4/3/2019 B.Ramamurthy

Applications of Pub/Sub Financial information systems Cooperative working Ubiquitous computing Monitoring applications 4/3/2019 B.Ramamurthy

Stock Dealing Room (Ex: Bloomberg, FactSet) Dealer’s computer Information provider Dealer External source Notification 4/3/2019 B.Ramamurthy

The Programming Model Small set of operations: publish(e), subscribe(f) where f is the filter or pattern of possible events, unsubscribe(f); Filter model: Channel based, topic based, content-based, type-based. 4/3/2019 B.Ramamurthy

Figure 6.8 The publish-subscribe paradigm Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005

Implementation Issues Main task: ensure that events are delivered efficiently to all subscribers that have filters defined that match the event. Additional requirements: security, scalability, failure handling, concurrency, and QoS 4/3/2019 B.Ramamurthy

Centralized vs. Distributed Implementations Simplest architecture is to centralize the implementation in a single node with a server on that node acting as a event broker. Publishers publish events to this broker, and subscribers send subscriptions to the broker and receive notifications in return. Communication is point to point messages. In a distributed implementation single broker is replaced by a network of brokers. Consider a fully P2P system! 4/3/2019 B.Ramamurthy

A network of brokers 4/3/2019 B.Ramamurthy

Overall System architecture 4/3/2019 B.Ramamurthy

Content-based Event Routing Flooding: Simply send an event notification to all publisher nodes in the network. Matching carried out at the end. Alternatively the brokers can be arranged in a acyclic graph each forwarding incoming notifications to all its neighbors. 4/3/2019 B.Ramamurthy

Content-based Event Routing (contd.) Filtering: Apply filtering in the network of brokers: filtering-based routing. Propagating subscription information through the network towards potential publishers. Each broker maintains a table of its neighbors, list of all directly connected subscribers and a routing table with subscriptions. 4/3/2019 B.Ramamurthy

Filtering-based routing upon receive publish(event e) from node x 1 matchlist := match(e, subscriptions) 2 send notify(e) to matchlist; 3 fwdlist := match(e, routing); 4 send publish(e) to fwdlist - x; 5 upon receive subscribe(subscription s) from node x 6 if x is client then 7 add x to subscriptions; 8 else add(x, s) to routing; 9 send subscribe(s) to neighbours - x; 10 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005

Issues with Filerting-based Routing Pure filtering based approach generates a lot of messages. Two solutions: advertisements() based approach Rendezvous based approach 4/3/2019 B.Ramamurthy

Rendezvous-based routing upon receive publish(event e) from node x at node i rvlist := EN(e); if i in rvlist then begin matchlist :=match(e, subscriptions); send notify(e) to matchlist; end send publish(e) to rvlist - i; upon receive subscribe(subscription s) from node x at node i rvlist := SN(s); if i in rvlist then add s to subscriptions; else send subscribe(s) to rvlist - i; Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Pearson Education 2005