SOFSEM 07 A Software Architecture for Shared Resource Management in Mobile Ad hoc Networks by Orhan Dagdeviren, Kayhan Erciyes Izmir Institute of Technology.

Post on 29-Dec-2015

218 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

Transcript

SOFSEM 07A Software Architecture for

Shared Resource Management in Mobile Ad

hoc Networksby Orhan Dagdeviren, Kayhan Erciyes

Izmir Institute of Technologypresented by

Orhan Dagdeviren

January 2007, Harrachov

Outline

• Introduction

• Layer 1: Merging Clustering Algorithm(in brief)

• Layer 2: Backbone Formation Algorithm(in brief)

• Layer 3: Mobile Ricart-Agrawala Algorithm

• Conclusions

Introduction

Wireless communication is growing fast in last few years. Future information technology will be mainly based on

wireless technology. [STOJMENOVIC02a]

GSM World’s Research shows the cellular phone usage exceeds 2 billion.

IntroductionTraditional Cellular and Mobile Networks

Base Stations, access points

• Traditional cellular and mobile networks are limited by their need for infrastructure. This final limitation is eliminated in MANETs.

Wi-Fi ad hoc mode

IntroductionApplications of Mobile Ad hoc Networks

-Battlefields -Rescue Operations

-Mobile Sensor Network -Personal Area Network

IntroductionCluster

• Virtual Group which provides

1. Energy control by clusterheads.

2. Routing by clusterheads and gateways .

3. Construction of a backbonearchitecture( Dominating set based algorithms )

Backbone: Path which connectsclusterheads

Introduction Distributed Mutual Exclusion

The mutual exclusion problem involves a group of process, each of which requires access to a resource or a piece of code called the critical section.

It is an one of fundamental computer science problem and a relatively new research area for the mobile ad hoc environment.

Introduction The steps of this study

1. Partition the MANET into balanced, non-overlapped clusters by MCA [Dagdeviren06].

2. Provide a ring backbone for a clustered MANET by BFA [Dagdeviren06-2].

3. Implement the Mobile Ricart-Agrawala algorithm [ERCIYES04,ERCIYES05] .

Layer 1: Merging Clustering Algorithm [Dagdeviren05, Dagdeviren06]

1. General Idea

2. Description of the Algorithm

3. An Example Operation

General Idea of the Algorithm

Algorithm merges clusters to higher level clusters like Gallagher’s distributed MST algorithm. However ;

1. First idea is to focus on clustering operation by discarding spanning tree. This reduces message complexity from O(nlogn) to O(n) (also time complexity is O(n).

2. Second idea is to use upper(2K) and lower(K) bound heuristics for clustering.

Description of the Algorithm

1. Each node has distinct node_id.

2. Each node knows its cluster_leader_id, cluster_level.

3. Leader node of a cluster is the node with maximum node_id.

Description of the Algorithm

• Algorithm consists of sending receving messages over adjoining links, waiting for incoming messages and processing messages.

• We assume no packet loss, if any loss occurs tout occurs in sender and sends the packet again. (Discussed Later)

K=7

An Example Operation

Layer 2: Backbone Formation Algorithm 1. General Idea

2. Description of the Algorithm

3. An Example Operation

General Idea of the Algorithm

MCA

• Balanced clusters.

• No backbone construction.

DS-based algorithms

• Backbone is constructed.

• Clusters may be overlapping and balancing is not mentioned

General Idea of the Algorithm

The backbone formation algorithm constructs a backbone of clusterheads on a clustered MANET.

General Idea of the Algorithm

Contributions

1. Since our backbone is directed ring architecture, better services can be given to middleware (traversing of message)

2. Two essential needs of clustering, balanced clustering and backbone formation

3. Partial Fault-tolerant

Description of the Algorithm

Each clusterhead floods Leader_Info message to network which consists of their id and if needed their position.( O(cn) message and time complexity where c is the total number of clusterheads )

In this phase, cluster member nodes are acting as router to transmit Leader_Info messages.

Description of the Algorithm

• The main idea is maintaining of same minimum spanning tree between clusterheads to construct a directed ring architecture.

• Minimum Spanning Tree can be obtained in two ways.

Minimum Spanning Tree Construction 1. Hop–based minimum spanning tree

construction

Minimum number of hops between clusterheads are considered.

For highly mobile scenarios, an agreement between clusterheads must be maintained.

clusterhead id=13

member id=6

member id=5

clusterhead id=20

clusterhead id=13

member id=6

member id=5

clusterhead id=20

Hop information can rapidly change for high mobile scenarios. Agreement between clusterheads must be maintained.

Hop-based mst construction

2 hops

3 hops

Minimum Spanning Tree Construction 2. Position–based minimum spanning tree

construction:

Positions of clusterheads are used.

Velocity and the direction information can be appended with a timestamp to the Leader_Info message.

Position-tracker like a GPS Receiver must be maintained.

Directed Ring Construction

After constructing mst, clusterheads are classified into two groups:

LEAF: Clusterheads with degree 1 in mst.

BACKBONE: Other clusterheads than LEAFs.

LEAFs are filled with white.

BACKBONEs are filled with black.

1. BACKBONE leaders are connected to each other.

Starting BACKBONE is selected with minimum connectivity to other BACKBONE leaders. If there are more than one, select the one with minimum id.

Connect each other from starting to end, last BACKBONE leader is connected to its LEAF with minimum node_id.

An Example Ring construction

1327

52

34

67

45

29

76

25

18

6155

Starting BACKBONE

2. LEAF leaders of same parent are connected to each other from smallest node_id to greater.

Ring construction

1327

52

34

67

45

29

76

25

18

6155

3. LEAF leaders of different parents are connected to each other from LEAF leader with maximum node_id to other LEAF leaders with minimum node_id of previous BACKBONE clusterheads.

4.Last leaf is connected to starting BACKBONE leader.

Advantages :

+ Connection of BACKBONE leaders

+ LEAF leaders of same parent are connected.

+ LEAF leaders of different parents connected on

BACKBONE leaders.

Ring construction

1327

52

34

67

45

29

76

25

18

6155

Fault Tolerance of Algorithm

• Clusterheads can maintain the list of member nodes during clustering operation.

• Clusterheads can maintain the list of all nodes in MANET during backbone formation.

If a clusterhead detects the crash of its next clusterhead:

1. It can update its next clusterhead to next-next clusterhead.

2. It can multicast a Leader_Dead message to cluster members of crashed clusterhead to initate clustering.

Cluster 1

Cluster 3

Cluster 2Cluster 4

leader 4

leader 1

leader 2

leader 3

leader 1, crashed

Example

leader 4, detected

Leader_Dead

A leader election must bemaintained

new leader is selectedNew_Leader

leader 4,updated

Distributed Mutual Exclusion Performance Metrics

Metrics

1. Number of Messages per Request(M): Total messages for CS.

2. Response Time(R): Interval between requesting and finishing CS.

3. Synchronization Delay(S): Time to enter a node to CS after another finishes.

System can be lightly or heavily loaded. In lightly loaded system, when a process makes a request, no other process is in CS. Other situation of system is heavily loaded.

Classification of distributed mutual exclusion algorithms

• Token-based mutual exclusion algorithms [SUZUKI85] [RAYMOND89].

• Permission based mutual exclusion algorithms [LAMPORT78]

[RICART81][MAEKAWA85].

wants to enter CS

N-1 requestN-1 replay

Total Messages: N-1 + N-1 = 2N-2

Permission based algorithms: Ricart-Agrawala Algorithm

executing CS

53wants to enter CS

N-1 request

Ricart-Agrawala Algorithm

executing CS or have a request with lower timestamp

request is deferred and enqueued

Ricart-Agrawala Algorithm

• MUTEX is charecterized by the permission.

• Fairness, liveness and safety is ensured.

• Crash of a single node is a big problem, they propose a timeout solution for this problem.

• System must provide clock synchronization.

Mutual Exclusion Algorithms on MANETs

• Permission based mutual exclusion algorithms:

Look-ahead technique: Singhal [SINGHAL97 ], Wu et. al’s [WU05 ]

which is based on construction of a competing set of CS requesting processses.

• Token-based mutual exclusion algorithms:

Walter [WALTER01b ], Baldoni [BALDONI02 ]

Layer 3: Mobile Ricart-Agrawala Algorithm 1. General Idea

2. Description of the Algorithm

3. An Example Operation

4. Analysis

5. Results

General Idea of the Algorithm

The main idea is to make coordinators interface to other nodes to the ring for Ricart-Agrawala Algorithm.

Requests are processed according to their timestamps.

Ricart-Agrawala AlgorithmMobile

Cluster 1

Cluster 2Cluster 3

Cluster 4

leader 1

leader 4

leader 2leader 3

13

3

Finite State Machine for leaders of Mobile_RA

13

9

6

3

19

14

5

7

12

10

0

184

1117

1

16

8

2

15

An Example Operation

Node 6 makes a CS request at 3.75s.

Node 4 makes a CS request at 3.85s.

Node 16 makes a CS request at 3.90s.

CS execution time is 350ms.

13

9

6

3

19

14

5

7

12

10

0

184

1117

1

16

8

2

15

Clock:3,76s Node_Req 6

Coord_Req 6

Coord_Req 6

Coord_Req 6

Coord_Req 6Coord_Rep 6

Clock:3,78s

IDLE

IDLE

IDLE

IDLE

WAIT_RP

Clock:3,80sClock:3,81sClock:3,83sClock:3,82sEnters the mutex

13

9

6

3

19

14

5

7

12

10

0

184

1117

1

16

8

2

15

Node_Req 4Coord_Req 4

Clock:3,85sExecuting CS

Req 4

Clock:3,87s

Node_Req 16

Clock:3,90s

Coord_Req 16

Req 16

Clock:3,93s

13

9

6

3

19

14

5

7

12

10

0

184

1117

1

16

8

2

15

Clock:4,18sFinished CS Execution

Req 4

Req 16

Node_Rel

Coord_Rep

Coord_Req 4

Clock:4,26s

Enters Mutex

13

9

6

3

19

14

5

7

12

10

0

184

1117

1

16

8

2

15

Clock:4,61sFinished CS Execution

Req 16Coord_Req 16

Node_Rel

Coord_Rep

Enters the mutex

Node_Rel

Clock:5,03s

Analysis

Theorem:Total number of messages per CS: k+3d

k number of elements on the ring

d upperbound diameter a cluster

Analysis

Proof:

d * Node_Req + k * Coord_Req + d * Coord_Rep + d * Node_Rel

= k+3d

d

k

Cluster 1

Cluster 2

Cluster 3

Cluster 4

Analysis

Corollary:Synchronization Delay varies from 2dT to (k+2d-1)T.

Analysis

Proof:

Lower bound( In same cluster): d*Node_Rel+ d*Coord_Rep = 2dT

Upper bound(In different clusters): d*Node_Rel+ (k-1)*Coord_Req+ d*Coord_Rep = (2d+k-1)T.

d

k

Cluster 1

Cluster 2

Cluster 3

Cluster 4

Analysis

Corollary:Response Time in lightly load system is (k+3d)T+E.

Analysis

Proof:

d*Node_Req+k*Coord_Req+ d* Coord_Rep+Execution Time+ d*Node_Rel = (k+3d)T+E

d

k

Cluster 1

Cluster 2

Cluster 3

Cluster 4

Analysis

Corollary:Response Time in heavily load system varies from

w(2dT+E) to

w((k-1+2d)T+E).

Analysis

Proof: Lower bound(In the same cluster):

( (d*Node_Rel+ d* Coord_Rep)*T+Execution Time) * Waiting request Number

Upper bound(In different clusters):

( (d*Node_Rel+ (k-1)*Coord_Req+ d* Coord_Rep)*T+Execution Time) * Waiting request Number

d

k

Cluster 1

Cluster 2

Cluster 3

Cluster 4

Results and Implementation

• Protocol is implemented in ns2. Protocol Stack is as follows;

Distributed Mutual Exclusion Layer

Backbone Formation Layer

Clustering Layer

UDP and Routing Layer

IP

Queing Layer

MAC and Link Layer

Physical Layer

Results and Implementation

• Mobility , Surface Area , K parameters are changed

Mobility Types

• High Mobility: 10 m/s – 20 m/s

• Medium Mobility: 5 m/s – 10 m/s

• Low Mobility: 1 m/s – 5 m/s

Results and Implementation

• Mobility , Surface Area , K parameters are changed

Surface Area Types

• Medium Surface Area: 675m2

• Small Surface Area: 500m2

• Very Small Surface Area: 350m2

Solution of Packet Loss Problem

• In MAC Layer of IEEE 802.11g, for each succesful packet transfer, an ACK message is sent by destination.

• We can notify our protocol layers from MAC for each successful transfer. If our protocol is not notified for an amount of time TOUT occurs and packet send again.

Response Time against Load (CS execution is 100ms)

Linear increase in high load values.

When the load is increased, the waiting time of requests in queues and routing delays increase. These increase response time and

syncronization delay.

Sycnhronization Delay against Load

Response Time against Surface Area

Very small surface area results in approximately 20ms lower response

times.

Synchronization delay is lower in scenarios with small surface area.

Synchronization delay against Surface Area

Response Time against Mobility

Response time and Synchronization delay values are stable against

mobility.

Synchronization Delay against Mobility

Response Time against K

Response time and synchronization delay values are decreasing slowly with K for a MANET with 50

nodes.

Sychronization Delay against K

Conclusions

A three layer architecture is designed and implemented to solve three problems : Balanced Clustering, Backbone Construction, Distributed Mutual Exclusion

Conclusions

We show the results against well-known MANET parameters like

* mobility

* surface area (gain stable results)

Also

* total number of nodes

* cluster heads

* load type. (gain results parallel to analysis)

Future Works and some drawbacks of these protocolsDrawbacks

• Needs clock syn. – Lamport or Vector clocks, a cluster-based clock synchronization protocol.

• A solution must be proposed to process request messages just before clustering and backbone forming.

• No simulation is supported for on top of a large surface area like 1000m*1000m not to deal with lots of isolated nodes and destruction of the ring architecture. – A problem of clustering.

• More Fault tolerance issues must be studied.

Future studies

• Total order multicast

• Sensor network environment

Presentation finished…

Questions?

Thanks for your

Attendance

Orhan Dagdeviren

SOFSEM 07 Presentation

top related