Group communication service
Download
1 / 41

Group Communication Service - PowerPoint PPT Presentation


  • 250 Views
  • Updated On :

Group Communication Service. by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan. Introduction. What is a Group Communication Service? Why do we need a Group Communication Service? Sample Applications Data Replication Process Groups.

Related searches for Group Communication Service

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Group Communication Service' - Gideon


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Group communication service l.jpg

Group Communication Service

by

Abhijeet Dharmapurikar

Jesse Greenwald

Sapna Gumidyala

Shashidhar Rampally

Varsha Mahadevan


Introduction l.jpg
Introduction

  • What is a Group Communication Service?

  • Why do we need a Group Communication Service?

  • Sample Applications

    • Data Replication

    • Process Groups


Introduction contd l.jpg
Introduction (contd)

  • Existing Group Communication Services

    • Java Groups

    • Spread

  • Configurable protocol stack used by Java Groups

  • Scope for utilization of application specific information


Our group communication service l.jpg
Our Group Communication Service

  • Using application specific information

    • Message Types

    • Message Patterns

  • Finding best-fit protocol stack for the above application

  • Optimization of number of messages


Illustrative examples l.jpg
Illustrative Examples

  • Tele-teaching Application

  • Card Game Application


Tele teaching application l.jpg
Tele-Teaching Application

<protocol>

<roles>

<role name="Student" min="1" max="n"/>

<role name="Teacher" min="1" max="1"/>

</roles>

<message-types>

<message-type name="Question"/>

<message-type name="Answer"/>

<message-type name="Formula"/>

<message-type name="Doubt"/>

<message-type name="TeacherAnswer"/>

</message-types>

. . .

</protocol>


Tele teaching application contd l.jpg
Tele-Teaching Application (contd)

<message-patterns>

<pattern>

<query type="Question" role="Teacher" receiver="Student"

min="1" max="1"/>

<response type="Answer" role="Student” receiver="Teacher"

min="0" max="#Student" timeout="60s"/>

</pattern>

<pattern>

<query type="Formula” min="1" max="1"/>

<response type="Doubt" min="0" max="#Student"

timeout="120s"/>

</pattern>

</message-patterns>


Card game application l.jpg
Card Game Application

<protocol>

<roles>

<role name="Player1" min="1" max="1"/>

<role name="Player2" min="1" max="1"/>

<role name="Player3" min="1" max="1"/>

<role name="Player4" min="1" max="1"/>

</roles>

<message-types>

<message-type name="Play"/>

</message-types>

. . .

</protocol>


Card game application contd l.jpg
Card Game Application (contd)

<message-patterns>

<pattern>

<message type="Play" role="Player1" min="1" max="1” receiver="Player1,Player2,Player3,Player4"/>

<message type="Play" role="Player2" min="1" max="1” receiver="Player1,Player2,Player3,Player4"/>

<message type="Play" role="Player3" min="1" max="1” receiver="Player1,Player2,Player3,Player4"/>

<message type="Play" role="Player4" min="1" max="1” receiver="Player1,Player2,Player3,Player4"/>

</pattern>

</message-patterns>


Related concepts l.jpg
Related Concepts

  • Proactive Messages

  • Reactive Messages


System design l.jpg
System Design

Application Protocol

Group Membership Protocol

Correlation Protocol

Ordering Protocol

Filtering Protocol

Event Service



Slide13 l.jpg

Group Manager

Clients


System design14 l.jpg
System Design

Application Protocol

Group Membership Protocol

Correlation Protocol

Ordering Protocol

Filtering Protocol

Event Service


Corba l.jpg
CORBA

  • Common Object Request Broker Arch.

  • Object Management Group (OMG)

  • Defines IDL Language

  • Defines the API for ORB


Object services l.jpg
Object Services

  • Name Service

  • Event Service

  • Notification Service

  • Time Service

  • Transaction Service

  • Persistent State Service


Event service l.jpg
Event Service

Supplier

Supplier

Supplier

Event Channel

Consumer

Consumer


Push communication model l.jpg
Push Communication Model

Push Supplier

Push Consumer

Initiative

I wish to decide when

the data is to be sent

Just call my method

whenever you have

data for me

DATA


Pull communication model l.jpg
Pull Communication Model

Pull Supplier

Pull Supplier

Initiative

I wish to decide when

to go for data

Just call my method

whenever you want data

DATA


System design20 l.jpg
System Design

Application Protocol

Group Membership Protocol

Correlation Protocol

Ordering Protocol

Filtering Protocol

Event Service


Filtering protocol l.jpg
Filtering Protocol

  • Filters based on

    • Message Type

    • Destination

  • Operates in two modes

    • JOIN_MODE

    • ONLINE_MODE


Filtering protocol cond l.jpg
Filtering Protocol cond..

JOIN_MODE:

 Allows only JOIN_GROUP messages

 Allows only UpdatedView messages

ONLINE_MODE:

 Allows all the messages

 Allows all messages except the

messages to which its not a destination.


System design23 l.jpg
System Design

Application Protocol

Group Membership Protocol

Correlation Protocol

Ordering Protocol

Filtering Protocol

Event Service


Message format l.jpg

struct Message

{

long messageId;

long source;

long destination;

string message;

char messageType;

boolean isProactive;

};

struct SequenceMessage

{

long messageId;

long source;

long destination;

long sequenceId;

};

Message Format


Ordering protocol l.jpg
Ordering Protocol

  • Sequencer based algorithm

    • Send broadcast message to all the members in the group and the sequencer

    • Sequencer assigns ids to these broadcast messages in a strictly increasing order

    • Member delivers the broadcast messages in the increasing order of sequencer ids


System design26 l.jpg
System Design

Application Protocol

Group Membership Protocol

Correlation Protocol

Ordering Protocol

Filtering Protocol

Event Service


Correlation protocol l.jpg
Correlation Protocol

  • Buffered ordering of reactive messages with respect to proactive messages

  • Tele-Teaching Example

    • Question (proactive message)

    • Answer (reactive message)


Correlator l.jpg
Correlator

  • Handles relationship between messages

  • Could be imagined as a smart tree-structured buffer

  • Patterns

    X –Y5 - Z2


Slide29 l.jpg

z

Y

z

z

Y

z

z

Y

X

z

z

Y

z

z

Y

z


System design30 l.jpg
System Design

Application Protocol

Group Membership Protocol

Correlation Protocol

Ordering Protocol

Filtering Protocol

Event Service


Group membership roles l.jpg
Group Membership Roles

  • Roles for the membership protocol

    • Groups Administrator

    • Group Manager

    • Member

  • Related Concept

    • View



Membership message formats l.jpg

struct JoinGroup

{

long member;

};

struct LeaveGroup

{

long member;

};

struct UpdateView

{

long messageId;

long source;

viewSeq view;

};

Membership Message Formats


Group membership protocol l.jpg
Group Membership Protocol

NM

M1

M2

M3

GManager

GM

GM

GM

GM

JoinGroup

UpdateView

UpdateView

UpdateView

Event Channel


Configurable protocol stack 1 l.jpg
Configurable Protocol Stack (1)

DownQueue

UpHandler

DownHandler

Protocol 1

UpQueue

DownQueue

UpHandler

DownHandler

Protocol 2

UpQueue




Optimizations l.jpg
Optimizations

  • Save round trip to sequencer for reactive messages

    • Tele-Teaching example

    • Card Game example

  • Selective build of required layers in the protocol stack


Group communication issues l.jpg
Group Communication Issues

  • One channel per group concept

  • Atomicity of broadcast messages

  • Ordering of membership messages with respect to broadcast messages

    • Implicit notion of proactive membership messages

  • Support for uni-cast communication


Conclusion l.jpg
Conclusion

  • Possible extensions

    • Cross Group Communication

    • Fault-Tolerance issues

    • Group State Management


References l.jpg
References

  • Lecture Notes

    • http://www.cis.ksu.edu/~singh/CIS825/F02/cis825.html

  • Java Groups

    • http://www.cs.cornell.edu/Info/Projects/JavaGroupsNew/

  • Event Service Specification

    • http://cgi.omg.org/docs/formal/01-03-01.pdf