Presentation is loading. Please wait.

Presentation is loading. Please wait.

M2MC: Middleware for Many to Many Communication over broadcast networks Chaitanya Krishna Bhavanasi 03329003 Under the guidance of Prof Sridhar Iyer Kanwal.

Similar presentations


Presentation on theme: "M2MC: Middleware for Many to Many Communication over broadcast networks Chaitanya Krishna Bhavanasi 03329003 Under the guidance of Prof Sridhar Iyer Kanwal."— Presentation transcript:

1 M2MC: Middleware for Many to Many Communication over broadcast networks Chaitanya Krishna Bhavanasi Under the guidance of Prof Sridhar Iyer Kanwal Rekhi School of Information Technology, IIT Bombay, Powai, Mumbai-76, India

2 Introduction Middleware Communication Paradigms AB E A B C D A D C B A E B C D G1 G2 (1) (2) (3) (4)

3 M2MC middleware Application M2MC Broadcast Layer Application M2MC Broadcast Layer data msg packet

4 Motivation

5 Architecture Group Manager Message Receiver/Buffer BroadcastReceiverBroadcastSender MOP MSP GJLP ApplGrpMngrInterface ApplGrpMngrClass Application 1 2, A B C D E

6 Components MOP GJLP MSP GroupManager Broadcast Layer Application

7 Operations For creating a new group For joining an existing group For sending a message to group On receiving a message from broadcast layer Member Synchronization

8 Message Ordering Protocol Primary objective: Capturing semantic relationship at sender. Representing this relationship and conveying it to receiver. Maintain these relationships with minimum overhead.

9 Relation between S b and Hb

10 S b Ordering Definition

11 Ordering Tree OTR C1 C2 A1 B1

12 Sb Ordering Properties Response semantics Uniqueness Transitivity

13 Protocol Briefly At sender: Captures and sends Sb information At receiver: Maintains Sb order information and determines the action to be taken for received message.

14 Notation Gid, pid, seqno,mid Message Format: midc,midp,gid,data Data Strucutures OT OSMS

15 State Diagram

16 INITIAL LISTEN RECEIVED RESPOND RCV_Deliverable RCV_OutofSeq after delivering Msg received For sending msg In seq Out of order After storing in cache After sending msg By default

17 Protocol Illustration

18 Correctness MOP preserves S b ordering (OTR, A1, A2, …An) be messages in OT. For n=1, Hypothesis: MOP delivers (OTR,A1, A2,…,Am) in Sb order. Induction Step: If midp is node Am If midp is any node Ak in OT If midp is not in OT.

19 Liveness MOP is liveness preserving. Every message sent to the group will be eventually delivered. Message M and Response R M delivered. M not received.

20 Algorithm and Data structures Ordering List InsertInOL(seqno j ) IsPresent(seqnoj) OSMT InsertInOSMT(midc, midp,data) putOSMsgsInOL(mid c)

21 OSMS

22 Complexities Time Complexity: 0(n^2) Space Complexity: O(m)

23 Group Join/Leave Protocols For newly connected processes to know information about the groups. For reconnected process to know information about new groups.

24 Protocol Briefly At Sender At every process on receiving advertisement At every process on receiving groups information For leaving a group.

25 Notations & Data Structures : gid,desc, cMemList, lMemList : pid : list of : pid,gid, :pid,gid DataStrucutre: GroupsInfoIndexTable gid1 gid2 gid3 gid4 Desc, memlist

26 State Diagram Initial SendGrpInfoList RecvGrpsInfoList SendAdv SendJoinMsg UpdateGrpInfo for advertising sentAdv joinMsg leaveMsg received On received GrpInfoList no GrpInfo msg left in the list For each GrpInfoMsg in the list if process joins the group after sending after updating CreateNewGrp for creating new group SendLeaveMsg leave group sent infolist received Adv

27 Member Synchronization Protocol process that newly joined a group process that rejoined the group.

28 Protocol Briefly At sender Other processes on receiving SyncReqMsg Sender on receiving SyncRespMsg Other processes on receiving SyncRespMsg.

29 Notations & Data Structures Notations SyncSeqno : Msg is of the form : DataStructure Group Messages List: Message Identities Repository: Process Sync Status Index Table:

30 State Diagram

31 Protocol Illustration A C B m1 m1 m2 A B A B C m1

32 Architecture Group Manager Message Receiver/Buffer BroadcastReceiverBroadcastSender MOP MSP GJLP ApplGrpMngrInterface ApplGrpMngrClass Application 1 2, A B C D E

33 Java Implementation: MOP

34 Java Implementation: GJLP GrpJLProtocol AdMsg adMsg GrpInfoMap grpInfoMap GrpInfoList grpInfoList sendAdvMsg() adMsgReceived(AdMsg adMsg) createNewGrp(String desc) sendJoinMsg() sendLeaveMsg() grpInfoListRecv(GrpInfoList ) LeaveMsg leaveMsg JoinMsg joinMsg leaveMsgRecv(LeaveMsg leaveMsg) GroupManager

35 Java Implementation: MSP

36 Java APIs for Application Developer Class: GroupManager Interface: ApplGrpManagerInterface

37 Threaded Chat Application

38 ApplGrpMngrClass ApplGrpMgnrClass void sendMsg2Appl(LinkedList msgList, Gid gid) void displayNewGrpInfo(GrpInfo grpInfo) Void createNewGroup(Gid gid) ApplGrpMgnrInterface

39 Threaded Chat Application ChatConsole DynaTree DynaTreeNode NewGrpConsole CreateNewGrpWindow

40 Related Work Anhinga Project M2MI M2MP

41 Demo


Download ppt "M2MC: Middleware for Many to Many Communication over broadcast networks Chaitanya Krishna Bhavanasi 03329003 Under the guidance of Prof Sridhar Iyer Kanwal."

Similar presentations


Ads by Google