Prolonging the Lifetime of WiNeMO with Isolated Node Problem Using Energy Efficient ... · 2015....

Preview:

Citation preview

Prolonging the Lifetime of WiNeMO with

Isolated Node Problem Using

Energy Efficient Clustering Scheme

以高效能叢集機制延長可動節點無線網路壽命

Presenter:Kuan-Wu Su

Date : 10/14/2015

1 Mobilizing Information Technology Lab

@ ECE Dept. @NTUST

Outline

₪ Introduction

₪ Sensor Network Schemes

₪ Mobility Models

₪ Simulation & Visualization

₪ Conclusion

₪ Q&A

2

Rescue & Survey

Introduction

3

Wireless Network with Moving Objects (WiNeMO)

+

Mobile Wireless Sensor Network (MWSN)

Agriculture

Big Events Broadcast

Heterogeneous Sensors/Carriers

4

How close are we to MWS in WiNeMO?

Flying Sensors

Crazyflie Nano

Quadcopter

(7 mins fly time,

20g, 9cm x 9cm) Sensors smaller

than coins

Integrate camera,

wireless, Tiny OS,

and open source

Introduction

5

Integrated into your life very soon

https://youtu.be/3WBUVYZkODI

Issues in MWSN + WiNeMO

6

Issues in integrating mobile nodes for WiNeMO

• Using Cluster Heads (CH) as Relays

• Changing network topology / nodes’ positions

• Energy efficiency

Heterogeneous MWSN

7

clusters

LEACH

8

LEACH (Low-Energy Adaptive Clustering Hierarchy) W. Heinzelman, A. Chandrakasan, and H. Balakrishnan, “Energy-efficient

communication protocol for wireless microsensor networks,” in Proc.

Hawaii Int. Conf. System Sciences, vol. 2, Jan. 2000, p. 10.

• Self-Organizing, adaptive clustering protocol

• Randomized rotation of cluster heads (CH) after each round

• Constant probability for CH election

• Every node rotates to be CH

9

Sensor node Cluster Head

Sink

10

Sensor node Cluster Head

Sink

Too close

Too far

Localized Energy Level

Residual Energy Map

11

Heterogeneous MWSN

12

previous run cluster heads

clusters

isolated

node

new isolated

nodes

Proposed Scheme

13

REAC-IN

Regional Energy Aware Clustering with Isolated Node

• Cluster-Heads Selection Algorithm Improved

• Reduce Data Transmission Energy Consumption on Isolated

Node

Proposed Scheme (REAC-IN)

14

Cluster-Heads Selection Algorithm

Threshold 𝑇 𝑛𝑖 used in LEACH

• 𝑇 𝑛𝑖 =

𝑝

1−𝑝×(𝑟 𝑚𝑜𝑑 1

𝑝 ) 𝑖𝑓 𝑛𝑖 ∈ 𝐺

0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

r ∶ current cluster-heads selection round number

p ∶ suggested percentage of cluster-heads

G ∶ the set of nodes that have not been selected as cluster-heads in previous round

Proposed Scheme (REAC-IN)

15

Cluster-Heads Selection Algorithm

Threshold 𝑇 𝑛𝑖 used in REAC-IN

• 𝑇 𝑛𝑖 =

𝑝𝑖

1−𝑝𝑖×(𝑟 𝑚𝑜𝑑 1

𝑝𝑖 ) 𝑖𝑓 𝑛𝑖 ∈ 𝐺

0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

r ∶ current cluster-heads selection round number

p ∶ probability that the node i is selected as a cluster-head in the r round

G ∶ the set of nodes that have not been selected as cluster-heads in previous round

16

Cluster-Heads Selection Algorithm

• 𝐸𝑐,𝑖 𝑟 − 1 = 𝐸𝑖(𝑟−1)

𝑛𝑐𝑖=1

𝑛𝑐

• 𝑝𝑖 = 𝑝𝑜𝑝𝑡 1 −𝐸𝑐,𝑖 𝑟−1 −𝐸i(𝑟)

𝐸𝑐,𝑖 𝑟−1 = 𝑝𝑜𝑝𝑡

𝐸i(𝑟)

𝐸𝑐,𝑖 𝑟−1

𝐸𝑖 𝑟 ∶ residual energy of node 𝑛𝑖

Ec,i r − 1 ∶ regional average energy of node ni in its cluster c at r − 1 round

popt ∶ the optimal probability that a node becomes a cluster head

Proposed Scheme (REAC-IN)

17

Proposed Scheme (REAC-IN) 𝐀𝐥𝐠𝐨𝐫𝐢𝐭𝐡𝐦: 𝐃𝐚𝐭𝐚 𝐓𝐫𝐚𝐧𝐬𝐦𝐢𝐬𝐬𝐢𝐨𝐧 𝐏𝐫𝐨𝐜𝐞𝐬𝐬 𝐨𝐧 𝐈𝐬𝐨𝐥𝐚𝐭𝐞𝐝 𝐍𝐨𝐝𝐞

// Running on each isolated node:

// μ : the cluster head node in the previous round

// i : the current node

// s : the sink node

// r : current cluster-head selection round

// 𝐸i(𝑟) : node i residual energy

// 𝐸𝑐,𝑖 𝑟 − 1 : regional average energy of the cluster which the node i belongs to in the last round

// 𝐷𝑖,𝜇 distance between the node i and the relay node 𝜇 of current round

// 𝐷𝜇,𝑠 distance between the relay node μ and the sink s of current round

// 𝐷𝑖,𝑠 distance between the node i and the sink s of current round

1. IF (𝐸𝑖 𝑟 ≥ 𝐸𝑐,𝑖 𝑟 − 1 𝐀𝐍𝐃 𝐷2𝑖,𝜇 + 𝐷2

𝜇,𝑠 < 𝐷2𝑖,𝑠

2. THEN

3. Send the sensed data to the Sink

4. ELSE

5. Sent its data to a CH node in the previous round

6. ENDIF

18

REAC-IN

• Cluster-Heads Election

probability based on local

average residual energy

• Can be used for heterogeneous

nodes

• Consider isolated node(s) problem

19

previous run cluster heads

new isolated

nodes

Use 𝑻 𝒏𝒊 thresholds to select current

run CHs

Process Isolated Node algorithm

Send aggregated data to sink

New clusters forming, calculate and send 𝐸𝑐,𝑖 , 𝑫𝜇,𝒔

Sensor nodes send data to CHs

r-1 run clusters forming and data transmission

?

? ?

via previous

run cluster

head ?

Sensor nodes moving

20

Mobility Evaluation

Trace based

Using real-time recording or real-life trace as input.

Syntactic/Model based

Synthesis movements for systems yet to be implemented

• Individual vs Group

• Free-scale vs Constrained

• Randomness levels

Low randomness

Traces/Cases

High randomness

Statistical analysis

21

Mobility Models

Random independence

Random Walk (RW), Random Directions (RD), Random

WayPoints (RWP), etc.

Temporal dependency

Gauss-Markov models, Smooth Random mobility models, etc.

Spatial dependency

Reference Points Group mobility models, etc.

Geographical restriction

Simulate streets, freeways, buildings, obstacles/paths.

22

Random Walk (RW)

x

y

nodes wrapping around

moving pass boundary

x

y

nodes reflected from edges

moving pass boundary

Random WayPoints (RWP)

24

Random Waypoints (RWP 3D)

nodes moving toward

waypoints in 3D space

RWP

on spherical surface

25

Gauss-Markov Mobility Models

Current moving parameters

depend on past status

N(t)

N(t+1)

N(t+2)

N(t-1) N(t-2)

26

Hierarchical Mobility Models

pedestrians

vehicles

drones

27

Graph-based Mobility Models

28

Modeling Real Environments

29

Advanced Models

Autoregressive

Flocking and Swarm based

Virtual game-driven

Non-recurrent

Social-Based Community

Knowledge-driven

etc.

Need a platform that can quickly adapt new models

30

Quadcopter Matlab Simulation

https://github.com/gibiansky/experiments/tree/master/quadcopter

31

Quadcopter has limited

vertical (z-axis) moving

ability, but fast horizontal

movement (x-y plane)

Simplified model :

x-y plane :

< 5 ~ 20 m/s

z axis :

< 4 m/s

Quadcopter Simulation

NS-2 Mobility Models Interface

Mobility

generator

Protocol

Simulation

(NS)

Mobility metric Protocol performance

NS trace file format

NS-2 Mobility Model Issues

Mobility trace file

– Format $ns_ at <time> $node_(<id>) setdest <x> <y> <speed>

– Example: $ns_ at 0.000 $MN2 setdest 610.107 230.884 40.608

A(t=0.000)

B(t=1.000)

34

Mobility Models in NS-3

• ConstantPosition (fixed)

• ConstantVelocity (RWP)

• ConstantAcceleration (RWP)

• GaussMarkov (temporal)

• Hierarchical (spatial)

• RandomDirection2D

• RandomWalk2D

• RandomWaypoint (RWP 2D/3D)

• SteadyStateRandomWaypoint (temporal RWP)

Simulation Components

35

Mobility Models

Sensor Network Simulation

Simulation Visualization

NS-2 NS-3 MATLAB

RWP + RW MATLAB

trace file RWP any

etc.

NAM/Javis, NetAnim

Otter, PyViz, MATLAB

H3Viwer, Gnuplot,

etc. etc.

Components Tools

NS-2 + NAM/Otter/H3Viwer

36

Mobility Modules (non-native)

NS-2 Simulation

NAM/Otter/H3Viwer

trace file

Simulation is very robust, but

difficult to update new mobility

models especially when using

3D visualization

NS-3

37

Mobility Modules (non-native)

NS-3 Simulation

C++ implement Visualization

graphic data

objects/API

Certain network simulation not yet

supported, but better integration with

mobility modules (also faster). C++

implement visual interfaces take time

to develop matching mobility models

with desired visualization (2D or 3D)

NS-2 + Matlab Visualization

38

Mobility Modules (non-native)

NS-2 Simulation

Matlab Visualization

trace file

Matlab Sim & Visualization

39

Mobility Modules (matlab)

Matlab Simulation

Matlab Visualization

Network simulation easy to modify

but required further verification,

and usually with less time resolution.

But easy to develop new schemes

with different mobility models, as well

as ready-to-use visualization.

40

Voronoi Diagram Algorithm

Using Voronoi diagram to split nearest cluster

heads’ boundaries.

Matlab Visualization

41

• Easy to separate

different clusters

• Identify cluster heads

• Identify sink

• Easy to visualize

isolated nodes

2D Clusters Visualization

42

3D Voronoi with few

cluster heads (CHs)

difficult to distinguish

clusters with lots of CHs

Dilemma in 3D Voronoi

43

3D coloring scheme with

scaled RGB value

Create localized discrete

color schemes

3D Color Code Schemes [0, 0, 200m]

[0, 0, 255] Blue

[200m, 200m, 0]

[255, 255, 0] Yellow

[0, 200m, 0]

[0, 255, 0] Green

[200m, 0, 0]

[255, 0, 0] Red

[200m, 0, 200m]

[255, 0, 255]

Magenta

[0, 200m, 200m]

[0, 255, 255] Cyan

44

3D nodes without coloring Clusters with 3D color

schemes

3D Clusters Visualization

45

3D clustering rotating view Clustering 3D animation

3D Clusters Visualization

Simulation Environment

46

Number of nodes = 200

Initial cluster head probability = 0.1

Simulation time = 450 seconds (7.5 minutes)

Simulation area = 200m × 200m (× 200m z-axis)

Sink location = [100m, 100m, (10m z-axis)]

Minimum velocity = 1 m/s (flying 1 m/s)

Maximum velocity = 2.2 m/s

(flying horizontal 10 m/s

vertical 4 m/s)

Alive Nodes Over Time

The variance of energy level.

47

Energy Consumption

48

Average Network Lifetime

49

Alive Nodes Over Time (3D)

The variance of energy level.

50

REAC-IN 3D WiNeMO

LEACH 3D WiNeMO

Average Network Lifetime (3D)

51

224.482

291.525

200

210

220

230

240

250

260

270

280

290

300

LEACH 3D WiNeMO REAC-IN 3D WiNeMO

Conclusions

52

Proposed scheme REAC-IN still performs well

under Mobile Scenario (WiNeMO)

Proposed scheme still viable in 3D heterogeneous

nodes environment using flying quadcopter as

sensor carrier platforms.

Matlab as simulation/visualization tools can test

novel schemes under various conditions quickly

and match mobility models with visualization.

53

Q&A

54

Matlab NS-2

Eyisi, E., Bai, J., Riley, D., Weng, J., Yan, W., Xue, Y., ... & Sztipanovits, J. (2012). Ncswt: An integrated modeling and

simulation tool for networked control systems. Simulation Modelling Practice and Theory, 27, 90-111.

55

56

http://www.mathworks.com/matlabcentral/fileexchange/?term=leach

http://www.mathworks.com/help/aeroblks/examples/quadcopter-

project.html

https://github.com/gibiansky/experiments/tree/master/quadcopter

https://uk.mathworks.com/academia/student-challenge/2012/

http://stackoverflow.com/questions/31812031/matlab-quadcopter-pid-

simulation

http://www.mathworks.com/help/matlab/programming-interfaces-for-c-c-

fortran-com.html

Matlab Resouces

Recommended