group communication service l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Group Communication Service PowerPoint Presentation
Download Presentation
Group Communication Service

Loading in 2 Seconds...

play fullscreen
1 / 41

Group Communication Service - PowerPoint PPT Presentation


  • 253 Views
  • Uploaded 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.

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

Group Communication Service


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
    1. Group Communication Service by Abhijeet Dharmapurikar Jesse Greenwald Sapna Gumidyala Shashidhar Rampally Varsha Mahadevan

    2. Introduction • What is a Group Communication Service? • Why do we need a Group Communication Service? • Sample Applications • Data Replication • Process Groups

    3. Introduction (contd) • Existing Group Communication Services • Java Groups • Spread • Configurable protocol stack used by Java Groups • Scope for utilization of application specific information

    4. 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

    5. Illustrative Examples • Tele-teaching Application • Card Game Application

    6. 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>

    7. 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>

    8. 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>

    9. 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>

    10. Related Concepts • Proactive Messages • Reactive Messages

    11. System Design Application Protocol Group Membership Protocol Correlation Protocol Ordering Protocol Filtering Protocol Event Service

    12. Message Send Sequence Diagram

    13. Group Manager Clients

    14. System Design Application Protocol Group Membership Protocol Correlation Protocol Ordering Protocol Filtering Protocol Event Service

    15. CORBA • Common Object Request Broker Arch. • Object Management Group (OMG) • Defines IDL Language • Defines the API for ORB

    16. Object Services • Name Service • Event Service • Notification Service • Time Service • Transaction Service • Persistent State Service

    17. Event Service Supplier Supplier Supplier Event Channel Consumer Consumer

    18. 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

    19. 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

    20. System Design Application Protocol Group Membership Protocol Correlation Protocol Ordering Protocol Filtering Protocol Event Service

    21. Filtering Protocol • Filters based on • Message Type • Destination • Operates in two modes • JOIN_MODE • ONLINE_MODE

    22. 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.

    23. System Design Application Protocol Group Membership Protocol Correlation Protocol Ordering Protocol Filtering Protocol Event Service

    24. 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

    25. 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

    26. System Design Application Protocol Group Membership Protocol Correlation Protocol Ordering Protocol Filtering Protocol Event Service

    27. Correlation Protocol • Buffered ordering of reactive messages with respect to proactive messages • Tele-Teaching Example • Question (proactive message) • Answer (reactive message)

    28. Correlator • Handles relationship between messages • Could be imagined as a smart tree-structured buffer • Patterns X –Y5 - Z2

    29. z Y z z Y z z Y X z z Y z z Y z

    30. System Design Application Protocol Group Membership Protocol Correlation Protocol Ordering Protocol Filtering Protocol Event Service

    31. Group Membership Roles • Roles for the membership protocol • Groups Administrator • Group Manager • Member • Related Concept • View

    32. Groups Administrative Class

    33. struct JoinGroup { long member; }; struct LeaveGroup { long member; }; struct UpdateView { long messageId; long source; viewSeq view; }; Membership Message Formats

    34. Group Membership Protocol NM M1 M2 M3 GManager GM GM GM GM JoinGroup UpdateView UpdateView UpdateView Event Channel

    35. Configurable Protocol Stack (1) DownQueue UpHandler DownHandler Protocol 1 UpQueue DownQueue UpHandler DownHandler Protocol 2 UpQueue

    36. Configurable Protocol Stack (2)

    37. Configurable Protocol Stack (3)

    38. Optimizations • Save round trip to sequencer for reactive messages • Tele-Teaching example • Card Game example • Selective build of required layers in the protocol stack

    39. 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

    40. Conclusion • Possible extensions • Cross Group Communication • Fault-Tolerance issues • Group State Management

    41. 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