Distributed Floor Control Protocols for Computer Collaborative Applications on Overlay Networks

Similar documents
Distributed Floor Control Protocols for Computer Collaborative Applications on Overlay Networks

DISTRIBUTED FLOOR CONTROL PROTOCOLS FOR SUPPORTING PRIORITIES IN COLLABORATIVE APPLICATIONS SURYAPRAKASH SINGIREDDY

M 3 DDVC: Multi-source Multicasting using Multi-cores with Delay and Delay Variation Constraints on Overlay Networks

Quality of Service (QoS)

The Medium Access Control Scheme (MAC Layer) Reference: Andrew S. Tanenbaum, Computer Networks, 3rd Edition, Prentice Hall, 1996.

Multicast Routing with Delay and Delay Variation Constraints for Multimedia Applications

Application Layer Multicast Algorithm

CSE 461: Multiple Access Networks. This Lecture

Master s Thesis. A Construction Method of an Overlay Network for Scalable P2P Video Conferencing Systems

Multiple Access Protocols

The MAC layer in wireless networks

CSCI2100B Data Structures Heaps

Splitting Algorithms

Chapter 7 CONCLUSION

On the Empirical Evaluation of Multicasting with Minimum Delay Variation

Chapter -6 IMPROVED CONGESTION CONTROL MECHANISM FOR REAL TIME DATA TRANSMISSION

Local Area Networks (LANs) SMU CSE 5344 /

Analyzing Multi-Channel Medium Access Control Schemes With ALOHA Reservation

Networking Acronym Smorgasbord: , DVMRP, CBT, WFQ

ECEN 5032 Data Networks Medium Access Control Sublayer

Loopback: Exploiting Collaborative Caches for Large-Scale Streaming

Connection-Level Scheduling in Wireless Networks Using Only MAC-Layer Information

AN ABSTRACT OF THE THESIS OF. Krishnan Kolazhi for the degree of Master of Science in Computer Science

CS 716: Introduction to communication networks. - 9 th class; 19 th Aug Instructor: Sridhar Iyer IIT Bombay

Bayeux: An Architecture for Scalable and Fault Tolerant Wide area Data Dissemination

Question Bank Subject: Advanced Data Structures Class: SE Computer

CHAPTER 7 MAC LAYER PROTOCOLS. Dr. Bhargavi Goswami Associate Professor & Head Department of Computer Science Garden City College

Resource Allocation and Queuing Theory

Internetworking Part 1

The MAC layer in wireless networks

Trees. Reading: Weiss, Chapter 4. Cpt S 223, Fall 2007 Copyright: Washington State University

Markov Chains and Multiaccess Protocols: An. Introduction

PDQRAP - Prioritized Distributed Queueing Random Access Protocol. DQRAP Research Group Report 93-2

Heaps. 2/13/2006 Heaps 1

PARALLEL ALGORITHMS FOR IP SWITCHERS/ROUTERS

UNIT III BALANCED SEARCH TREES AND INDEXING

Generic Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture

Lecture 9: Bridging. CSE 123: Computer Networks Alex C. Snoeren

Syed Mehar Ali Shah 1 and Bhaskar Reddy Muvva Vijay 2* 1-

Packet multiple access and the Aloha protocol

Delay Analysis of ML-MAC Algorithm For Wireless Sensor Networks

Overview Computer Networking What is QoS? Queuing discipline and scheduling. Traffic Enforcement. Integrated services

Multiple Access (1) Required reading: Garcia 6.1, 6.2.1, CSE 3213, Fall 2010 Instructor: N. Vlajic

Heaps Goodrich, Tamassia. Heaps 1

TSIN01 Information Networks Lecture 8

BINARY HEAP cs2420 Introduction to Algorithms and Data Structures Spring 2015

CS301 - Data Structures Glossary By

King Fahd University of Petroleum and Minerals College of Computer Sciences and Engineering Department of Computer Engineering

Week 7: Traffic Models and QoS

Wireless Communications

Multiple Access Communications. EEE 538, WEEK 11 Dr. Nail Akar Bilkent University Electrical and Electronics Engineering Department

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture

COMP3121/3821/9101/ s1 Assignment 1

Distributed Queue Dual Bus

Octoshape. Commercial hosting not cable to home, founded 2003

Collisions & Virtual collisions in IEEE networks

New Forwarding Strategy for Metro Ethernet Networks Based on Hierarchical Addressing

Multi-channel TDMA Scheduling in Wireless Sensor Networks

CS 268: Computer Networking. Taking Advantage of Broadcast

Hierarchical Agent-Based Secure and Reliable Multicast in Wireless Mesh Networks

Wireless Sensor Networks 8th Lecture

Design and Performance Analysis of Mobility Management Schemes based on Pointer Forwarding for Wireless Mesh Networks

1. The Internet 2. Principles 3. Ethernet 4. WiFi 5. Routing 6. Internetworking 7. Transport 8. Models 9. WiMAX & LTE 10. QoS 11. Physical Layer 12.

Distributed Systems Exam 1 Review. Paul Krzyzanowski. Rutgers University. Fall 2016

CSE/EE 461 Wireless and Contention-Free Protocols

MAC in /20/06

CMPSC 250 Analysis of Algorithms Spring 2018 Dr. Aravind Mohan Shortest Paths April 16, 2018

II. Principles of Computer Communications Network and Transport Layer

Networks and Distributed Systems. Sarah Diesburg Operating Systems CS 3430

Reliable Multicast Scheme Based on Busy Signal in Wireless LANs

Management and Analysis of Multi Class Traffic in Single and Multi-Band Systems

Database Technology. Topic 7: Data Structures for Databases. Olaf Hartig.

Goals. Fundamentals of Network Media. More topics. Topics. Multiple access communication. Multiple access solutions

Intelligent Transportation Systems. Medium Access Control. Prof. Dr. Thomas Strang

On Generalized Processor Sharing with Regulated Traffic for MPLS Traffic Engineering

End-To-End Delay Optimization in Wireless Sensor Network (WSN)

Power Laws in ALOHA Systems

Priority Queues and Binary Heaps

Efficient pebbling for list traversal synopses

DATA STRUCTURES AND ALGORITHMS

Data gathering using mobile agents for reducing traffic in dense mobile wireless sensor networks

Real-Time (Paradigms) (47)

Analytical Model for an IEEE WLAN using DCF with Two Types of VoIP Calls

Algorithm 23 works. Instead of a spanning tree, one can use routing.

LANs Local Area Networks LANs provide an efficient network solution : To support a large number of stations Over moderately high speed

cs/ee 143 Fall

COMP 251 Winter 2017 Online quizzes with answers

Syntax Analysis Check syntax and construct abstract syntax tree

Basics (cont.) Characteristics of data communication technologies OSI-Model

B. Bellalta Mobile Communication Networks

Implementation of Near Optimal Algorithm for Integrated Cellular and Ad-Hoc Multicast (ICAM)

Switching. An Engineering Approach to Computer Networking

Sensor Tasking and Control

A Token Based Distributed Algorithm for Medium Access in an Optical Ring Network

Data Structure. A way to store and organize data in order to support efficient insertions, queries, searches, updates, and deletions.

TREES. Trees - Introduction

Master Course Computer Networks IN2097

3. (a) Explain WDMA protocol. (b) Explain wireless LAN protocol. [8+8]

Data Link Layer: Collisions

Analysis of Throughput and Energy Efficiency in the IEEE Wireless Local Area Networks using Constant backoff Window Algorithm

Transcription:

Distributed Floor Control Protocols for Computer Collaborative Applications on Overlay Networks Shankar M Banik, Sridhar Radhakrishnan, Tao Zheng School of Computer Science University of Oklahoma Chandra N Sekharan Department of Computer Science Loyola University at Chicago CollaborateCom 2005

Overview Distributed Floor Control: What and Why? Overlay Networks: What and Why? Efficient Communication Channel Proposed Implementation of MAC protocols on Overlay Networks for Floor Control Causal Ordering of messages Analytical Model and Simulation Conclusion 2

Floor Control: What and Why? Providing exclusive access to communication network for a distributed application Three step process 1) Obtain access to the floor 2) Send data 3) Relinquish access Mechanisms to gain exclusive access to the floor can be coordinated or distributed. Explicit: wait for reserved-for-you message Implicit: did not see any other request message for a period of time. That is no collisions. Sending data must follow ordering such as causal. Relinquishing access to the floor can be explicit or implicit based on whether special message is sent or not. 3

Floor Control: What and Why? Examples of applications that can use this floor control Video Conferencing Collaborative Design and Simulation Online Games 4

Floor Control Mechanisms Centralized Floor Control Each end-user sends a request to a controller The controller grants floor to the end-users using some policy Advantage Simple and easy to implement Disadvantage Links to the controller will be congested Failure of the controller will result in the failure of the total application Distributed Floor Control Similar in spirit to the medium access control protocols. 5

Overlay Network: What and Why? Distributed applications require designer networks customized for the application. The applications require changes to the network protocols to allow for application dependent QoS requirements to be implemented. Impossible to change the underlying Internet to satisfy application requirements due to: Changing Infrastructure Scalability Deployment Recent research trend Develop and implement network layer protocol in the application layer Application programs at end-users form a virtual network called overlay network 6

Architectures of Overlay Networks Peer-to-peer Network functionality is pushed to the end-users End user End user End user Proxy-based End user Removes additional NSN burden from the end-users NSN NSN We have considered proxy-based overlay in this paper End user NSN End user End user 7

State-of-the-art of existing Floor Control Protocols Dommel, Garcia [Cluster Computing Journal 1999] First one to introduce and analyze floor control protocols Proposed a tree-based protocol using a logical control tree Dynamically centralized Qiu et. al. [GlobeCom 2002] Proposed a three channel rotation scheme Interactive and scalable Centralized controller Katrinis et. al. [Distributed Multimedia 2004] Proposed an activity sensing protocol Assumes that maximum inter-departure time between two consecutive data packets transmitted by a floor holder is fixed and globally known 8

Our Objectives To develop fully distributed floor control protocols To consider the delay of the underlying communication channel at the time of designing a floor control protocol To guarantee causal ordering of messages at the participating end-users Causal Ordering: If a message m is sent before m, then to all destinations common to m and m, m will be delivered before m. 9

Distributed Floor Control Proposed to implement MAC protocols on Overlay Networks for floor control ALOHA Randomized Simple DQDB Scheduled based Maintains FIFO ordering 10

Efficient Communication Channel To implement MAC protocols on distributed networks: Design an efficient communication channel among NSNs Maximum end-to-end delay between all pairs of NSN is minimum Develop techniques for collision detection in the case of randomized protocols. Design data delivery mechanisms after the floor has been acquired Develop techniques to relinquish the floor for scheduled protocols. Communication in any floor control application in the overlay network can be divided in three phases Contention Phase An end-user sends the floor request signal to its NSN The NSN communicates with other NSNs to resolve the contention for floor acquisition and sends either a grant or reject signal to the requesting end-user Data Delivery Phase The end-user which was granted the floor by its NSN, sends data to all other participating end-users through its NSN Floor release Phase The end-user that gained access releases the floor. 11

Construction of communication channel Participating NSN If there exist at least one participating end-user attached to it Participating Chain A communication channel that connects the set of participating NSNs The length of a participating chain is defined as the summation of delay of all the links that belong to the participating chain An Optimal Participating chain is a participating chain with minimum length We develop an algorithm to obtain an optimal participating chain for a tree network 12

Properties of an Optimal Participating Chain of a Tree Network An optimal participating chain of a tree network will start at a node of degree 1 and end at a node of degree 1 An optimal participating chain of a tree network will not traverse the links in the longest path of the tree more than once Different order of visiting the sub-trees of children (of the root) which are not contained in the longest path does not change the length of the optimal participating chain 20 10 B A 5 E 7 9 25 G 12 Optimal Participating Chain: C B A E D E F E A G H Length : 109 C D F H 13

Constructing the Optimal Participating Chain of a Tree Network Main steps of finding the Optimal Participating chain of a tree T Determine the root of T such that the root is the center of the tree (say r) Let u and v be the two children of r which are contained in the longest path of T Let {x 1, x 2,, x k } be the set of leaf nodes of the subtree rooted at x in T Let l(x, x i ) be the path length from node x to the leaf node x i Let l(x) = max { l(x, x i ), 1 i k} Order the children of r in non-decreasing of their l values First and second node in the sorted order will be v and u respectively Rearrange the children of r such that u and v are the leftmost and rightmost child respectively Rearrange the children of u (resp. v) in decreasing (resp. increasing) order of their l values Perform an in order traversal of the rearranged tree 14

Example of a Participating Chain Primary NSN B Secondary NSN B End User A B C B D NSN Assumptions: Each NSN knows its left neighbor and right neighbor Each NSN also knows the length of the chain (say C) In a participating chain an NSN can appear more than once. In this situation, one of them will work as primary NSN and others will work as secondary NSNs. We assign the first NSN as primary NSN and the rest of them as secondary ones. A secondary NSN is not attached to any end-users, it just forwards the control signals 15

Protocol for Floor Acquisition at the End-user If an end-user wants to acquire a floor, it generates a floor_request message and sends the message to its NSN In Randomized Protocol The NSN of the requesting end-user after getting the floor_request message tries to detect whether the request is collided with other floor_request messages and either sends floor_grant and floor_reject message to its requesting end-user depending on the outcome of collision detection mechanism In Scheduled Protocol The NSN of the requesting end-user waits for its turn as in a token passing mechanism and sends floor_grant message to its end-user when it gets its turn If the end-user receives floor_rejection message, it waits for random amount of time and sends the floor_request again to its NSN If the end-user receives floor_grant signal, it goes to data delivery phase and sends data to all other participating end-user through its NSN 16

Generic Protocol for Floor Acquisition at the End-user end-user_floor_acquisition( ) Begin If end-user wants to acquire floor Generate floor_request message Send floor_request message to the NSN End If If end-user receives floor_grant message from the NSN End-user goes to Data Delivery Phase for sending data to other end-users Else If end-user receives floor_reject message from the NSN End-user waits for random amount of time Call end-user_floor_acquisition( ) End If End 17

Implementing ALOHA for Floor Control among the participating NSNs Pure ALOHA Nodes send data whenever they have data to send When two nodes send data at the same time, a collision occurs How will an NSN detect a collision NSN will wait for a certain period of time after forwarding the floor request signal (received from its end-user) to other NSNs During the waiting period, if the NSN receives another floor request signal, it determines that a collision has occurred What will be the length of the waiting period 2C why? 18

State Diagram of ALOHA 19

Implementing DQDB for Floor Control among the participating NSNs Signal_flow Path A B C E D Request_flow Path Two logical paths are maintained among the NSNs Request_flow_path Signal_flow_path Each NSN knows its neighbors in each path First NSN in signal_flow_path is head_nsn First NSN in request_flow_path is tail_nsn Each NSN maintains two variables RQ: keeps track of number of requests forwarded by the preceding NSNs in the request_flow path before the NSN gets its chance to acquire the floor for its end host DQ: denotes the position of the NSN s end-user s request in the distributed queue 20

Implementing DQDB for Floor Control among the participating NSNs (contd.) Purpose of the request_flow path When an NSN receives a request from its end-user It forwards the request to its left neighbor in the request_flow path It copies the value of RQ to DQ and sets RQ to 0 When an NSN receives a request from its neighbor NSNs It increments its RQ value by 1 It forwards the request to its left neighbor in the request_flow path Purpose of the signal_flow path The head_nsn generates wake_up signals periodically and forwards them to its right neighbor in the signal_flow path When an NSN receives a wake_up signal in the signal_flow path It checks the contents of the wake_up signal If the wake_up signal does not contain end-host ID and the NSN s DQ value is 0 The NSN sends floor grant signal to its end-user and puts the end-user ID in the wake_up signal and forwards the wake_signal to its right neighbor in the signal_flow path If the NSN s DQ value is not 0 The NSN decrements its DQ value and forwards the wake_up signal to its right neighbor in the signal_fow path 21

State Diagram of DQDB IDLE PROCESS GENERATED REQUEST received floor request from end-user forward floor request received forwarded floor request from neighbor MSN PROCESS RECEIVED REQUEST forward floor request found DQ 0 received wake-up PROCESS WAKE-UP SIGNAL found DQ not 0; forward wake-up GRANT Send floor grant to end-user 22

Data Delivery Phase Participating chain and optimal multicasting tree will be used in this phase Optimal multicasting tree Single source shortest path tree when we want to minimize the maximum end-to-end delay Multicasting tree with minimum end-to-end delay and minimum delay variation when we want to ensure message should reach all the destination almost at the same time How to ensure Causal Ordering of messages Connect the root of the multicasting tree to the last_nsn (tail_nsn) in the participating chain 23

Data Delivery Phase for ALOHA When an end-user enters into the data delivery phase, it sends data to its NSN The NSN forwards the data along the participating chain until it reaches the last NSN The last NSN forwards the data to the root of the multicasting tree which forwards it to all the participating end-users 24

Data Delivery Phase for ALOHA How does this implementation ensure causal ordering Consider the following worst case scenario NSN A and B are the first and last NSN of the participating chain respectively At t = 0, A forwards the floor request of its end-user to its neighbors If A does not get any floor request in 2C time, it grants the floor to its enduser at t = y = 2C. The end-user of A will send data to A and A will forward the data to the root of the multicasting tree It will take C + δ units of time to reach the data from A to the root where δ is the path delay between B (last NSN) and the root of the multicasting tree 25

Data Delivery Phase for ALOHA How does this implementation ensure causal ordering Consider the following worst case scenario Now consider that B forwards a floor request (generated by its end-user) at t = x and clearly x > C Assume that B does not get any floor request in 2C waiting period So B grants floor to its end-user at t = z = x + 2C Now the end-user of B will send data to B and B will forward it to the root It will take δ units time to reach the data at the root Need to show that the root receives the data of A before B The root will receive the data of A at t = u = 2C + C + δ = 3C + δ The root will receive the data of B at t = v = x + 2C + δ It can be easily seen that v > u as x > C 26

Data Delivery Phase for DQDB When the tail_nsn receives the wake_up signal in the signal_flow_path, it forwards the signal to the root of the multicasting tree The root keeps the sequence number of the wake_up signal in the database If the wake_up signal does not contain an end-user ID, then the root assumes that the wake_up signal was not used by any end-user If the wake_up signal contains an end-user ID, the root keeps both the sequence number and the end-user ID in the database Wake_up signal End-user ID 1 4 2 5 3 2 27

Data Delivery Phase for DQDB When an end-user receives the floor_grant signal from its NSN, it sends data along with its ID to its NSN The NSN forwards the data along the signal_flow_path until the data reaches the tail_nsn, then the tail_nsn forwards the data to the root of the multicasting tree The root checks the ID of the end-user in the database If the sequence number associated with the end-user is the smallest among the sequence numbers, the root forwards the data of the enduser to other participating end-users using the multicasting tree and removes the entry from the database, otherwise the root buffers the data data end-user 5 wake_up signal end-user ID 1 4 root 2 5 3 2 28

Analytical Model Efficiency η = U T = U X + U U: Floor Usage Time T: Turn Around Time X: Contention Time To derive the expression of X, we consider the worst case scenario for each protocol using communication infrastructure We assume the control messages in the protocol are transferred reliably over the network 29

Analytical Model Parameter γ δ η λ σ n α C Description Average processing time of control message at each NSN Duration of average activity period for each end-user Efficiency of the protocol Floor request inter-arrival rate for end-users Average delay between an end-user and its NSN Number of participating NSNs in the group communication Frequency of wake-up signals generated by head NSN Total Delay of the Communication Chain Parameters used in the Analysis Efficiency of ALOHA η = (δ + σ + 2C + nγ) λ e -2 (δ + σ + 2C + nγ) λ Efficiency of DQDB η = δ / ( ( (σ + C + nγ) λ) + C + σ + δ) 30

Analytical Model Efficiency VS Load (n = 10) Efficiency 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.01 0.1 1 10 100 1000 Load Aloha on Chain DQDB On the average, DQDB outperforms ALOHA in terms of efficiency The efficiency of ALOHA reaches 0 when the request rate is 10 whereas the efficiency of DQDB reaches 0 when the request rate is near 1000 31

Simulation Experiments Both ALOHA and DQDB floor control protocols have been simulated using ns-2 Considered a participating chain of 10 NSNs with 2 end-users connected to each NSN Simulation time set to 2000 seconds Parameter request packet size link delay bandwidth cell size for DQDB Value 25 bytes 50 ms 1 Mbps 44 bytes contention window for ALOHA 20 cell generation rate for DQDB 1.0 Parameters used in the Simulations 32

Simulation Results Efficiency VS Request rate efficiency 0.3500 0.3000 0.2500 0.2000 0.1500 0.1000 0.0500 0.0000 0.01 0.1 0.2 0.4 0.6 0.8 1 request rate 2 5 10 ALOHA DQDB DQDB performs better than ALOHA in terms of efficiency when the system request rate is high For ALOHA when the system request rate is low, the efficiency achieved from simulation experiments is higher than the efficiency calculated from the analytical model 33

Conclusion Proposed implementation of distributed MAC protocols on overlay networks for floor control Considered ALOHA and DQDB Constructed an efficient communication channel for floor control Implementation guarantees causal ordering Analytical and simulation results indicate that DQDB performs better than ALOHA in terms of efficiency 34