41
Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Embed Size (px)

Citation preview

Page 1: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Group Communication Service

by

Abhijeet Dharmapurikar

Jesse Greenwald

Sapna Gumidyala

Shashidhar Rampally

Varsha Mahadevan

Page 2: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

IntroductionWhat is a Group Communication

Service?Why do we need a Group

Communication Service?Sample Applications

Data Replication Process Groups

Page 3: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Introduction (contd)Existing Group Communication

Services Java Groups Spread

Configurable protocol stack used by Java Groups

Scope for utilization of application specific information

Page 4: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

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

Page 5: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Illustrative ExamplesTele-teaching ApplicationCard Game Application

Page 6: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

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>

Page 7: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

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>

Page 8: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

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>

Page 9: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

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>

Page 10: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Related ConceptsProactive MessagesReactive Messages

Page 11: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

System Design

Application Protocol

Group Membership Protocol

Correlation Protocol

Ordering Protocol

Filtering Protocol

Event Service

Page 12: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Message Send Sequence Diagram

Page 13: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Clients

Group Manager

Page 14: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

System Design

Application Protocol

Group Membership Protocol

Correlation Protocol

Ordering Protocol

Filtering Protocol

Event Service

Page 15: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

CORBACommon Object Request Broker Arch.Object Management Group (OMG)

Defines IDL LanguageDefines the API for ORB

Page 16: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Object ServicesName ServiceEvent ServiceNotification ServiceTime ServiceTransaction ServicePersistent State Service

Page 17: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Event Service

Event Channel

Supplier Supplier Supplier

Consumer Consumer

Page 18: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Push Communication Model

I wish to decide when the data is to be sent

Just call my methodwhenever you have

data for me

Push Supplier Push ConsumerInitiative

DATA

Page 19: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Pull Communication Model

Just call my method whenever you want data

Pull SupplierInitiative

DATA

I wish to decide whento go for data

Pull Supplier

Page 20: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

System Design

Application Protocol

Group Membership Protocol

Correlation Protocol

Ordering Protocol

Filtering Protocol

Event Service

Page 21: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Filtering ProtocolFilters based on

Message Type Destination

Operates in two modes JOIN_MODE ONLINE_MODE

Page 22: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

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.

Page 23: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

System Design

Application Protocol

Group Membership Protocol

Correlation Protocol

Ordering Protocol

Filtering Protocol

Event Service

Page 24: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Message Formatstruct Message

{

long messageId;

long source;

long destination;

string message;

char messageType;

boolean isProactive;

};

struct SequenceMessage

{

long messageId;

long source;

long destination;

long sequenceId;

};

Page 25: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Ordering ProtocolSequencer 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

Page 26: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

System Design

Application Protocol

Group Membership Protocol

Correlation Protocol

Ordering Protocol

Filtering Protocol

Event Service

Page 27: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Correlation ProtocolBuffered ordering of reactive messages

with respect to proactive messagesTele-Teaching Example

Question (proactive message) Answer (reactive message)

Page 28: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

CorrelatorHandles relationship between

messagesCould be imagined as a smart tree-

structured bufferPatterns

X –Y5 - Z2

Page 29: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

X

Y

Y

Y

Y

Y

z

z

z

z

z

z

z

z

z

z

Page 30: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

System Design

Application Protocol

Group Membership Protocol

Correlation Protocol

Ordering Protocol

Filtering Protocol

Event Service

Page 31: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Group Membership RolesRoles for the membership protocol

Groups Administrator Group Manager Member

Related Concept View

Page 32: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Groups Administrative Class

Page 33: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Membership Message Formats

struct JoinGroup

{

long member;

};

struct LeaveGroup

{

long member;

};

struct UpdateView

{

long messageId;

long source;

viewSeq view;

};

Page 34: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Group Membership Protocol

GManager

NM M1 M2 M3

GM GM GM GM

Event Channel

JoinGroup UpdateView UpdateView UpdateView

Page 35: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Configurable Protocol Stack (1)

DownQueue

DownQueue

UpQueue

UpQueue

UpHandler DownHandler

UpHandler DownHandler

Protocol 1

Protocol 2

Page 36: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Configurable Protocol Stack (2)

Page 37: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Configurable Protocol Stack (3)

Page 38: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

OptimizationsSave round trip to sequencer for

reactive messages Tele-Teaching example Card Game example

Selective build of required layers in the protocol stack

Page 39: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

Group Communication IssuesOne channel per group conceptAtomicity of broadcast messagesOrdering of membership messages with

respect to broadcast messages Implicit notion of proactive membership

messagesSupport for uni-cast communication

Page 40: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

ConclusionPossible extensions

Cross Group Communication Fault-Tolerance issues Group State Management

Page 41: Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

References

Lecture Notes http://www.cis.ksu.edu/~singh/CIS825/F02/c

is825.htmlJava Groups

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

Event Service Specification http://cgi.omg.org/docs/formal/01-03-01.pdf