1 A Mutual Exclusion Algorithm for Ad Hoc Mobile networks Presentation by Sanjeev Verma For COEN 317 10 th Nov, 2003 J. E. Walter, J. L. Welch and N. Vaidya.

Slides:



Advertisements
Similar presentations
CS542 Topics in Distributed Systems Diganta Goswami.
Advertisements

CS3771 Today: deadlock detection and election algorithms  Previous class Event ordering in distributed systems Various approaches for Mutual Exclusion.
Lecture 8: Asynchronous Network Algorithms
Token-Dased DMX Algorithms n LeLann’s token ring n Suzuki-Kasami’s broadcast n Raymond’s tree.
Leader Election Let G = (V,E) define the network topology. Each process i has a variable L(i) that defines the leader.  i,j  V  i,j are non-faulty.
TORA! TORA! TORA! By Jansen Cohoon. Developing TORA TORA was funded by the Army Research Laboratory. TORA is presently being transitioned into the commercial.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
1/14 Ad Hoc Networking, Eli M. Gafni and Dimitri P. Bertsekas Distributed Algorithm for Generating Loop-free Routes in Networks With Frequently.
CS 582 / CMPE 481 Distributed Systems
What we will cover…  Distributed Coordination 1-1.
Distributed Process Management
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
Operating Systems, 2011, Danny Hendler & Amnon Meisels 1 Distributed Mutual Exclusion  Introduction  Ricart and Agrawala's algorithm  Raymond's algorithm.
Distributed Token Circulation in Mobile Ad Hoc Networks Navneet Malpani, Intel Corp. Nitin Vaidya, Univ. Illinois Urbana-Champaign Jennifer Welch, Texas.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Performance Comparison of Existing Leader Election Algorithms for Dynamic Networks Mobile Ad Hoc (Dynamic) Networks: Collection of potentially mobile computing.
Adaptive Topology Discovery in Hybrid Wireless Networks
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
1 Prioritized h-out of-k Resource Allocation for Mobile Ad Hoc Networks and Distributed Systems Jehn-Ruey Jiang Hsuan Chuang University HsinChu, Taiwan.
EEC-681/781 Distributed Computing Systems Lecture 11 Wenbing Zhao Cleveland State University.
TORA : Temporally Ordered Routing Algorithm Invented by Vincent Park and M.Scott Corson from University of Maryland. TORA is an on-demand routing protocol.
CS401 presentation1 Effective Replica Allocation in Ad Hoc Networks for Improving Data Accessibility Takahiro Hara Presented by Mingsheng Peng (Proc. IEEE.
Ad Hoc Wireless Routing COS 461: Computer Networks
A Highly Adaptive Distributed Routing Algorithm for Mobile Wireless Networks Research Paper By V. D. Park and M. S. Corson.
High-Performance Networks for Dataflow Architectures Pravin Bhat Andrew Putnam.
DISTRIBUTED TOKEN CIRCULATION ON MOBILE AD HOC NETWORKS.
Leader Election Algorithms for Mobile Ad Hoc Networks Presented by: Joseph Gunawan.
4.5 DISTRIBUTED MUTUAL EXCLUSION MOSES RENTAPALLI.
4.5 Distributed Mutual Exclusion Ranjitha Shivarudraiah.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 10 Instructor: Haifeng YU.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Mutual Exclusion Steve Ko Computer Sciences and Engineering University at Buffalo.
CS425 /CSE424/ECE428 – Distributed Systems – Fall 2011 Material derived from slides by I. Gupta, M. Harandi, J. Hou, S. Mitra, K. Nahrstedt, N. Vaidya.
Coordination and Agreement. Topics Distributed Mutual Exclusion Leader Election.
1 Distributed Process Management Chapter Distributed Global States Operating system cannot know the current state of all process in the distributed.
Presenter: Long Ma Advisor: Dr. Zhang 4.5 DISTRIBUTED MUTUAL EXCLUSION.
Leader Election and Mutual Exclusion Algorithms for Wireless Ad Hoc Networks. CPSC 661 Distributed Algorithms Abhishek Gaurav Alok Madhukar.
Vector Clock Each process maintains an array of clocks –vc.j.k denotes the knowledge that j has about the clock of k –vc.j.j, thus, denotes the clock of.
Agenda Fail Stop Processors –Problem Definition –Implementation with reliable stable storage –Implementation without reliable stable storage Failure Detection.
SRL: A Bidirectional Abstraction for Unidirectional Ad Hoc Networks. Venugopalan Ramasubramanian Ranveer Chandra Daniel Mosse.
Studying Different Problems from Distributed Computing Several of these problems are motivated by trying to use solutiions used in `centralized computing’
Physical clock synchronization Question 1. Why is physical clock synchronization important? Question 2. With the price of atomic clocks or GPS coming down,
A Framework for Reliable Routing in Mobile Ad Hoc Networks Zhenqiang Ye Srikanth V. Krishnamurthy Satish K. Tripathi.
A Tree Based Algorithm fro Distributed Mutual Exclusion Addy Gronquist 11/19/2003.
Page 1 Mutual Exclusion & Election Algorithms Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content.
Lecture 12-1 Computer Science 425 Distributed Systems CS 425 / CSE 424 / ECE 428 Fall 2012 Indranil Gupta (Indy) October 4, 2012 Lecture 12 Mutual Exclusion.
Lecture 7- 1 CS 425/ECE 428/CSE424 Distributed Systems (Fall 2009) Lecture 7 Distributed Mutual Exclusion Section 12.2 Klara Nahrstedt.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
CIS 825 Review session. P1: Assume that processes are arranged in a ring topology. Consider the following modification of the Lamport’s mutual exclusion.
Mutual Exclusion Algorithms. Topics r Defining mutual exclusion r A centralized approach r A distributed approach r An approach assuming an organization.
Clock Synchronization (Time Management) Deadlock Avoidance Using Null Messages.
CSC 8420 Advanced Operating Systems Georgia State University Yi Pan Transactions are communications with ACID property: Atomicity: all or nothing Consistency:
Revisiting Logical Clocks: Mutual Exclusion Problem statement: Given a set of n processes, and a shared resource, it is required that: –Mutual exclusion.
CS 425 / ECE 428 Distributed Systems Fall 2015 Indranil Gupta (Indy) Oct 1, 2015 Lecture 12: Mutual Exclusion All slides © IG.
Asstt. Professor Adeel Akram. Other Novel Routing Approaches Link reversal Aimed for highly dynamic networks Goal: to identify some path, as opposed.
GeoTORA: A Protocol for Geocasting in Mobile Ad Hoc Networks
Author:Zarei.M.;Faez.K. ;Nya.J.M.
4.5 Distributed Mutual Exclusion
Parallel and Distributed Simulation
Mutual Exclusion Continued
Distributed Mutual Exclusion
A Mutual Exclusion Algorithm for Ad Hoc Mobile Networks
任課教授:陳朝鈞 教授 學生:王志嘉、馬敏修
Temporally-Ordered Routing Algorithm (TORA)
Comparison between Suzuki Kasami’s and Raymond’s Tree Algorithm
Raymond'S Tree DMX Algorithm
Distributed Mutual Exclusion
Outline Distributed Mutual Exclusion Introduction Performance measures
Distributed Mutual Exclusion
Distributed Systems and Concurrency: Synchronization in Distributed Systems Majeed Kassis.
Distributed Mutual eXclusion
Presentation transcript:

1 A Mutual Exclusion Algorithm for Ad Hoc Mobile networks Presentation by Sanjeev Verma For COEN th Nov, 2003 J. E. Walter, J. L. Welch and N. Vaidya

2 Introduction Mobile Ad hoc networks characterized by –Frequent topology changes –Variable message delays Mutual Exclusion (ME) –Tree based ME Distributed Algorithm by Raymond but not resilient to link failure –Extended by Chang et al. to ad hoc networks but suffers from deadlocks –Further extended by Dhamdhare et al. but uses flooding and cannot avoid starvation –Reverse Link Mutual Exclusion (RLME) solves the problems

3 RLME Algorithm solves mutual exclusion in distributed system and –is fault tolerant and adaptive –is mobility aware and does not rely on an underlying routing algorithm. Introduction (contd) User Applications Distributed PrimitivesRouting Protocol Ad Hoc Network

4 Reverse Link Mutual Exclusion Algorithm Assumptions –The nodes have unique identifiers –Node failures do not occur –Communication links are bidirectional and FIFO –A link-level protocol ensures that each node is aware of the set of nodes with which it can currently directly communicate by providing indications of link formations and failures –Incipient link failures are detectable, providing reliable communication on a per-hop basis, and –Partitions of the network do not occur.

5 Reverse Link Mutual Exclusion Algorithm (contd) System Architecture Application Process Network Mutual Exclusion Process LinkUp Send(m) RequestCS EnterCS Recv(m) ReleaseCS LinkDown

6 Reverse Link Mutual Exclusion Algorithm (contd.) Key variables at a node i –Status : WAITING, CRITICAL or REMAINDER –Height : A three-tuple (h1, h2, i) denoting height of node i. Helps in maintaining a DAG. –Queue : queue of nodes that have requested the token from the node i –Next pointer : points to a node that takes the request towards the token holder

7 Reverse Link Mutual Exclusion Algorithm (contd.) Events and procedures at node i –RequestCS: Enqueue request if i is WAITING. If i is not a token holder and there is request in queue, ForwardRequest, otherwise GiveTokenToNext –ReleaseCS: GiveTokenToNext if there is a request in queue –ForwardRequest: Set Next to a neighbor node with lowest height and send request to the node –GiveTokenToNext: If request in queue is from i then enter CS otherwise send token and request to Next.

8 Reverse Link Mutual Exclusion Algorithm (contd.) Events and procedures at node i –Request received from j: If linkInfo is current for j update its height info. If i’s height is less than j’s then put j’s request in queue. If i has token and it’s done with CS then GiveTokenToNext. Otherwise create an outgoing link by calling RaiseHeight or if there is an outgoing link and there is a request in queue then ForwardRequest –RaiseHeight: Height is (h1, h2, i). h1 = 1 + minimum of the h1 of heights of all the neighbor nodes. h2 = minimum of h2 of all neighbor’s heights for which h1 is same – 1. Then update all neighbors with new height. Delete any requests in queue from node which is on the outgoing link now.

9 Reverse Link Mutual Exclusion Algorithm (contd.) Events and procedures at node i –Token received from j: i becomes token holder and updates j’s height info. i lowers height and send the linkInfo with height to all the neighbors. GiveTokenToNext for any request in queue, otherwise Next is set to refer to self. –LinkInfo received from j: Add j to neighbor list and note j’s height. If j does not know about me, send linkInfo to j. If i’s height is least among all neighbors and its not a token holder then RaiseHeight, otherwise if there is request to forward, ForwardRequest.

10 Reverse Link Mutual Exclusion Algorithm (contd.) Events and associated actions at node i: –LinkDown to j: Remove j from neighbor list and delete any requests queued for j. If not token holder then RaiseHeight or ForwardRequest –LinkUp to j: Send linkInfo to j and note that link is coming up. The information about link coming up is used in linkInfo received procedure, so that linkInfo’s are not exchanged in an infinite loop.

11 Operation of RLME Algorithm in static network (0,1,3) (0,2,1) (0,2,2) (0,0,0) 0 has the token. 3 and 2 requested token from 0.

12 Operation of RLME Algorithm in static network (contd) (0,1,3) (0,2,1) (0,2,2) (0,0,0) 1 has requested access to CS and sends request to 3

13 Operation of RLME Algorithm in static network (contd) (0,-1,3) (0,2,1) (0,2,2) (0,0,0) 0 exits CS. 0 sends request to 3 on behalf of 2.

14 Operation of RLME Algorithm in static network (contd) (0,-1,3) (0,-2,1) (0,2,2) (0,0,0) 3 exits CS. 3 sends request to 1 on behalf of 0.

15 Operation of RLME Algorithm in static network (contd) (0,-3,3) (0,-2,1) (0,-5,2) (0,-4,0) 2 has the token. Token passes from 1 to 3 to 0 to 2.

16 Operation of RLME Algorithm in dynamic network (0,1,3) (0,2,1) (0,2,2) (0,0,0) 0 has the token. 3 and 2 requested token from 0.

17 Operation of RLME Algorithm in dynamic network (contd) (0,1,3) (0,2,1) (0,2,2) (0,0,0) 3 has moved. The network is no longer token oriented.

18 Operation of RLME Algorithm in dynamic network (contd) (1,1,3) (0,2,1) (0,2,2) (0,0,0) 3 has adapted to the loss of link and sent a request message to 1.

19 Operation of RLME Algorithm in dynamic network (contd) (1,1,3) (1,0,1) (0,2,2) (0,0,0) 1 has received 3’s request message.

20 Operation of RLME Algorithm in dynamic network (contd) (1,1,3) (1,0,1) (0,2,2) (0,0,0) 1 has propagated request to node 2. DAG restored.

21 Operation of RLME Algorithm in dynamic network (contd) (1,1,3) (1,0,1) (0,-1,2) (0,0,0) 0 comes out of CS. 2 gets the token..

22 Operation of RLME Algorithm in dynamic network (contd) (0,-3,3) (0,-2,1) (0,-1,2) (0,0,0) 3 gets the token after 2 is done with CS.

23 Correctness of RLME Algorithm The algorithm ensures mutual exclusion –In every configuration of every execution, the DAG is token oriented if and only if there are no sinks (its not token holder and height is less than all adjacent nodes) –In every execution with finite number of link changes, there exists a finite number of height increases –Once link changes cease, the logical direction on links imparted by height values will eventually always form a token oriented DAG

24 Simulation results Compared to Raymond’s tree based mutual exclusion algorithm for static, low mobility and high mobility network conditions for a network of 30 to 40 nodes –Average waiting time per CS entry RLME is better –Average messages per CS entry RLME is better

25 Conclusion and Discussion RLME works in ad hoc network –Without support of any routing protocols, –Gives better results than static ME algorithms running on ad hoc routing protocols and –Can handle network partitions as well. Questions?