DISTRIBUTED TOKEN CIRCULATION ON MOBILE AD HOC NETWORKS.

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

An Adaptive Compulsory Protocol for Basic Communication in Ad-hoc Mobile Networks Ioannis Chatzigiannakis Sotiris Nikoletseas April 2002.
CS 603 Process Synchronization: The Colored Ticket Algorithm February 13, 2002.
CS542 Topics in Distributed Systems Diganta Goswami.
Lecture 8: Asynchronous Network Algorithms
Token-Dased DMX Algorithms n LeLann’s token ring n Suzuki-Kasami’s broadcast n Raymond’s tree.
Chapter 15 Basic Asynchronous Network Algorithms
Presented By- Sayandeep Mitra TH SEMESTER Sensor Networks(CS 704D) Assignment.
Ranveer Chandra , Kenneth P. Birman Department of Computer Science
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
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.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
1 Complexity of Network Synchronization Raeda Naamnieh.
CS 582 / CMPE 481 Distributed Systems
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #4 Mobile Ad-Hoc Networks AODV Routing.
Ordering and Consistent Cuts Presented By Biswanath Panda.
Group Communications Group communication: one source process sending a message to a group of processes: Destination is a group rather than a single process.
© nCode 2000 Title of Presentation goes here - go to Master Slide to edit - Slide 1 Reliable Communication for Highly Mobile Agents ECE 7995: Term Paper.
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
Distributed Token Circulation in Mobile Ad Hoc Networks Navneet Malpani, Intel Corp. Nitin Vaidya, Univ. Illinois Urbana-Champaign Jennifer Welch, Texas.
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.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #5 Mobile Ad-Hoc Networks TBRPF.
TORA : Temporally Ordered Routing Algorithm Invented by Vincent Park and M.Scott Corson from University of Maryland. TORA is an on-demand routing protocol.
Distributed process management: Distributed deadlock
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
Ad Hoc Wireless Routing COS 461: Computer Networks
CIS 720 Distributed algorithms. “Paint on the forehead” problem Each of you can see other’s forehead but not your own. I announce “some of you have paint.
A Highly Adaptive Distributed Routing Algorithm for Mobile Wireless Networks Research Paper By V. D. Park and M. S. Corson.
Mobile Routing protocols MANET
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.
Leader Election Algorithms for Mobile Ad Hoc Networks Presented by: Joseph Gunawan.
Ad hoc On-demand Distance Vector (AODV) Routing Protocol ECE 695 Spring 2006.
4.5 DISTRIBUTED MUTUAL EXCLUSION MOSES RENTAPALLI.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 10 Instructor: Haifeng YU.
Content Addressable Network CAN. The CAN is essentially a distributed Internet-scale hash table that maps file names to their location in the network.
Computer Networks with Internet Technology William Stallings
Locating Mobile Agents in Distributed Computing Environment.
CSCI 465 D ata Communications and Networks Lecture 15 Martin van Bommel CSCI 465 Data Communications & Networks 1.
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.
AODV: Introduction Reference: C. E. Perkins, E. M. Royer, and S. R. Das, “Ad hoc On-Demand Distance Vector (AODV) Routing,” Internet Draft, draft-ietf-manet-aodv-08.txt,
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’
Totally Ordered Broadcast in the face of Network Partitions [Keidar and Dolev,2000] INF5360 Student Presentation 4/3-08 Miran Damjanovic
A Tree Based Algorithm fro Distributed Mutual Exclusion Addy Gronquist 11/19/2003.
Ad Hoc On-Demand Distance Vector Routing (AODV) ietf
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.
1 Chapter 11 Global Properties (Distributed Termination)
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.
Distance Vector Routing
CSC 8420 Advanced Operating Systems Georgia State University Yi Pan Transactions are communications with ACID property: Atomicity: all or nothing Consistency:
Asstt. Professor Adeel Akram. Other Novel Routing Approaches Link reversal Aimed for highly dynamic networks Goal: to identify some path, as opposed.
William Stallings Data and Computer Communications
GeoTORA: A Protocol for Geocasting in Mobile Ad Hoc Networks
Mutual Exclusion Continued
Distributed Mutual Exclusion
Internet Networking recitation #4
A Mutual Exclusion Algorithm for Ad Hoc Mobile Networks
Temporally-Ordered Routing Algorithm (TORA)
Mobile and Wireless Networking
Distributed Mutual Exclusion
Raymond Exclusive Algorithm
Distributed Systems and Concurrency: Synchronization in Distributed Systems Majeed Kassis.
Presentation transcript:

DISTRIBUTED TOKEN CIRCULATION ON MOBILE AD HOC NETWORKS

Mobile ad hoc networks is a network where a pair of nodes communicate by sending messages either over a direct wireless link or over a sequence of wireless links including one or more intermediate nodes. Mobile ad hoc networks are formed by a collection of potentially mobile,wireless nodes. Communication links form and disappear as nodes come into and go out each others communication range.

Some Concepts :- Failures:- Previously communicating nodes move such that they are no longer within tansmission range of each other. Formation:- Occurs when nodes that are far to separated to communicate move such that they are within transmission range of each other. In my presentation I will be covering:- Distributed Token Circulation on Mobile Ad hoc Networks:- Deals with several distributed algorithms that cause a token to continually circulate through all nodes of a mobile ad hoc network.It ensures total order of message delivery in a group communication service. Mutual Exclusion for Ad Hoc Mobile networks :- Which deals with the problem of Mutual exclusion which involves a group of processes each of which intermittently requires access of the critical section and at most one process may be in CS at a given time.

Distributed Token Circulation in Ad Hoc Mobile Networks Message delivery is obtained by continuously circulating tokens through all the nodes in a n/w in a virtual ring.Token circulates around the virtual ring carrying a sequence number.When a node receives the token it assigns sequence numbers to its messages and multicasts the messages to the group members.The sequence number carried by the token is incremented once for each message sent by the node holding the token.Since messages are assigned globally unique sequence numbers total order can be achieved. alternative approach:-Store the message in the token itself –since the token visits all the virtual nodes in the ring the messages will eventually reach all the nodes.The order in which they are added to the token determine the order in which they are delivered to the nodes. Performance Metrics:- Round Length:-No of node visits made by a token in one round.(At least one node visited exactly once in a round). Message Overhead:-No of Bytes sent per round. Time Over head:-Time required to complete one round.

Group Communication A group communication service forms an important building block for application in dynamic distributed systems.It allows application to be oblivious of the dynamic n/w environment. The group communication problem becomes especially difficult in a mobile ad hoc network where links can repeatedly fail and recover. The main aim is to deliver messages in various consistent order within groups. Terminology Used:- When a token visits a node it means the token is received by the group communication services running on that node.

1)maintaining information regarding the group membership 2)letting nodes within a group communicate with each other in an ordered manner

,2,3,4,5,6,1,2,3,4,5,61,3,5,2,6,4,1,3,5,2,6,4,1 With Topology information…. Optimal Length + less overhead Without topological information… Optimal length + more overhead. The above example suggests that it is useful to utilize the network topology information in determining the order in which the nodes are visited. One simple way of keeping track of the neighbors is by sending “hello” messages.Each node periodically broadcasts a “hello ” msg.The period being referred to as hello threshold.If node 1 does not receive “hello” from node 2 for a hello threshold no of consecutive hello intervals,it disregards node 2 as its neighbor. “hello” messages

Local v/s Global:-In Local the next node to send the token to is among the neighboring nodes,and in global the token can be directed towards any node. Recency v/s Frequency:- In Recency the decision of the next node to send token too,depends on how recently the node have had the token.In case of frequency it is based on how frequently the nodes have had the token. Framework followed by the algorithms:- In the token Circulation Algorithm the token carries with it some count information for each node in the system.When a node receives the token it chooses the next recipient of the tokens using this count information,updates its own count information and then sends the token to its chosen recipient. Updating the count depends on the particular algorithm. For recency Algorithms the count for node i represents the last time the node was visited.For frequency algorithms the count depends on the no of times the token visited the node.

Algorithm Local-Frequency The Local Frequency algorithm keeps track of how many times a node has been visited and sends the token to the least frequently visited neighbor of the token holder.Count variable stored in the token contains the count of the no of past token visits to that node. Since the token holder may not have precise knowledge of its neighbor.To protect against the potential loss of token in such cases we use a TCP connection to deliver the token. If there is no mobility and the topology is connected then the LF algorithm ensures that every node is visited infinitely often and there is no starvation. Disadvantage:-The round length can increase without bound in certain networks even if there is no mobility

Algorithm Local Recency(LR) The Local Recency algorithm is similar to LF except that the least recently visited neighbor of the token holder is chosen as the next recipient of the token.To implement this algorithm the Count contains the time when the node was last visited by the token. Advantage:- There is no starvation in case of static connected topologies. The round length does not increase.ex:It ensures that the round length is never more than 7 in the previous example.The LR algorithm attempts to improve this round length by taking advantage of cycles to avoid the backtracking.Round length of at most 2n can be achieved.However there do exist graphs where LR has round length exponential in n.

Global Algorithms:- The Global Frequency and the Global Recency algorithms are similar to the local ones except that the token is distributed among all nodes in the system and not among the neighbors.The no of nodes visited in each round is equal to the no of nodes in the n/w. In the GR algorithm,ties only occur in the first round,after that the token visits the nodes in the same order in each round. In the GF algorithm,ties may occur at any time,the token may visit the node in any order. ex ABCBACCAB,ABCACB etc.

Global Algorithms with next:- These algorithms determine the node with the smallest count value from among all the nodes in the network and token is sent to the neighbor of the token holder on the route to the node with the smallest count. These algorithms require the ability to query the n/w layer to determine the neighbor on the route to a given destination. The GFN algorithm gives a poor performance since the intermediate nodes are also visited ex:-If the frequency of node x is higher than the frequency of all the other nodes then other nodes are visited many times before x is visited again,causing a large round length.

A MUTUAL EXCLUSION FOR AD HOC MOBILE NETWORKS

Introduction This paper presents a fault tolerant mutual exclusion algorithm that adjusts to node mobility. The algorithm requires the nodes to communicate only with their current neighbors making it well suited to ad hoc envoirnment. Existing distributed algorithms run correctly on top of ad hoc routing protocols since these protocols are designed to hide the dynamic nature of the network. Experimental results shown in this paper indicate that adaptation to mobility can improve performances over that of similar non adaptive algorithms.

The mutual exclusion problem involves a group of processes,each of which intermittently requires access to resource or a piece of code called the critical section.At most only one process can be in the CS at a given time. Distributed MX algorithms that rely on the maintenance of a logical structure to provide order and efficiency may be inefficient in mobile environment where the topology can potentially change with every node movement.

Some token based MX algorithms:- 1) Raymond MX algorithm -Requests are sent over a static spanning tree of the network towards token holder. Resilient to non adjacent node crashes and recoveries but not to link failures. 2)Chang’s MX algorithm –Extension of the above algorithm by imposing logical direction on a sufficient no of links to introduce token oriented DAG in which for every node i there is a directed path originating from i and terminating at token holder.Resilient to link and site failures but does not consider link recovery. 3)Dhamdhere and Kulkarni:-Assigned dynamically changing sequence number to each node,forming a total ordering of nodes in the system.Token holder has the highest seq no and by defining links to point from nodes with lower to higher seq no a token oriented DAG is obtained.During link failures when node i does not find any outgoing links toward a token holder it will flood the n/w with messages and builds a temporary spanning tree.When the token holder become a part of this tree the token is passed directly to node i bypassing other requests.Priority is given to nodes which lose a path to the token holder,hence other requesting processes could be starved.

Reverse Link Mutual Exclusion Algorithm Assumptions & Definitions Assumptions on mobile nodes and n/w: The Nodes have Unique Identifiers. Node failures do not occur. Communication links are bi-directional and FIFO. Link level protocol ensures that every 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 per hop basis. Partitions of n/w do not occur. Definitions:- RequestCS(i),ReleaseCS(i),EnterCS(i)  application events Send i (j,m),Recv i (j,m),LinkUp(l),LinkDown(l)  Network Events

In the algorithm described in this paper the lowest node is the token holder. Each node dynamically chooses its lowest neighbor as its preferred path to the token holder. Nodes sense a link changes to immediate neighbors and reroute requests based on the status of previous preferred link to the token holder and the current contents of the local request queue. All requests reaching the token holder are continually serviced while the DAG is being reoriented and blocked requests are being rerouted.

In every execution the following holds true. If out(k) includes EnterCS(i) then previous application event at node i must be RequestCS(i).CS is given only to requesting node. Mutual Exclusion-If out(k) includes EnterCS(i) then any previous EnterCS(j) event must be followed by ReleaseCS(j) prior to Out(k). No starvation-If there are finite no of LinkUp(i) and LinkDown(i) events the if in(k) is RequestCS(i) then there is following EnterCS(i).

Data Structure:- Status:-Indicates if node is in W,C or R. N:-Set if all nodes in direct wireless contact with node i myHeight:-three tuple(h1,h2,i) representing height of node i height(j):-Array of tuples representing node i’s view of myHeight(j). tokenHolder:-Sets flag=True if node holds token,else flag=false. next:-when node i is token holder next=i else it is an outgoing neighbor. Q:-Queue containing identifiers of requesting nodes. recievedLI(j):-Boolean array indicating with Link Info msg has been received from node j. forming(j):-set true when link to node j is detected as forming. formHeight[j]:-array of tuples storing value of myHeight when new link to j was first detected. Reverse Link Mutual Exclusion Algorithm

Overview of Algorithm Requesting and Releasing CS:- When node wants to enter CS it enqueues its identifier on Q and sets status to waiting. It it does not hold the token and i has a single element on its queue it calls ForwardRequest() to send Request msg. If node i holds the token it can set its status to CRITICAL and enter CS as it will on the head of the queue. While releasing CS it calls GiveTokenToNext() if Q is non-empty and sets status to REMAINDER. Request messages:- When i receives req msg from j it ignores the request if receivedLI(j) is false.Otherwise i enqueues j on Q if link between i and j is incoming at i. If i holds the token and Q is non empty & status=REM,i calls GiveTokenToNext(). If i does not hold token then it calls RaiseHeight() if link to j is incoming and i has no outgoing links or i calls ForwardRequest() if Q=[j]. Token messages:- When node i receives token messages from j,it lowers its height to be lower than that of the last token holder & it informs all its outgoing neighbors abt its new height by sending LinkInfo messages and calls GiveTokenToNext().Node i also infroms j of its new height so that j knows that i has received the token.

LinkInfo messages:- If recievedLI(j) is true when link info msg received at i from j’s height is saved in height[j]. Link failures:- When i senses failure of a neighbor j,it removes j from N,sets receivedLI(j )to true and if j is element of of Q deletes j from Q.If i has no outgoing links it raises its height.If i is not the token holder Q is non empty i calls ForwardRequest() since it must send another Request for the token. Link formation:- When node i detects a new link to node j it sends a LinkInfo msg to j with myHeight,sets forming[j] to true and sets formHeight[j] =myHeight.