a rank table based routing method for multi-sink zigbee

5
A Rank Table Based Routing Method for Multi-Sink Zigbee Wireless Sensor Network Qianrong Gu 1 , Hongying Zuo 2 , Ruidan Su 3 , Jihui Xu 1 , and Huaiyu Xu 1 1 Shanghai Advanced Research Institute Chinese Academy of Sciences, China 2 Pactera Technology International Ltd. China 3 College of Information Science and Engineering, Northeastern University, China [email protected]; [email protected]; [email protected]; [email protected]; [email protected] AbstractIn this paper, we propose a rank table based routing method to solve congestion and traffic balancing problem in multi-sink zigbee networks. Each node has a rank table to cache path costs and next hop addresses between itself and all the sinks. All the sinks broadcast heartbeat packets containing their load level information as path costs periodically. Each router adds its own load level to the path cost in the heartbeat packets from sinks before relaying them. The rank table of a node is updated constantly according to the received heartbeats. When a node needs to transmit data to sinks, the rank table is used to determine to which sink the packet should be sent, then the packet is routed to the address in the rank table marked as next hop for this sink. The proposed routing method is evaluated by ns-2. Simulation results show the traffic load level among sinks can be balanced effectively; packet loss and network congestion can be relieved dramatically. I. INTRODUCTION Wireless Sensor Network (WSN) is usually deployed with a great number of sensor nodes to cover a large range of area to monitor events, collect data from environment, etc. The data collected by sensor nodes is usually transmitted to sink nodes, which are gateways to outside world, for further processing by a multi-hop network. Node failures and relocations should not hinder the successful transmission of data to the sinks. Consequently, WSN needs to be capable of adapting to changes in network topology caused by node failures, relocations and so on. Initially, research interest is focused on single sink WSN [1] and [2]. However, scalability of single sink WSN is not good enough to satisfy the demand of transmitting data from a large number of nodes to a single sink. As the number of nodes increases, network congestion due to hot spot phenomenon will be so severe that transmission cannot continue. Recently, interest is changed toward to multi-sink WSN [3]-[5]. In a multi-sink WSN, the mean number of hops between nodes and sinks can be reduced remarkably; network Manuscript received Month Day, 2013; revised Month Day, 2013, accepted Month Day, 2013. Corresponding author email: [email protected]. doi:10.12720/jcm.8.8.535-539 congestion can be relieved by using appropriate routing method to balance traffic load among the sinks evenly. ZigBee is a specification of high level communication protocols built on top of IEEE 802.15.4 standard. Because of its low cost low power consumption properties and ability to support mesh network topology, zigbee is an ideal technology for implementation of WSN. In this paper we present a rank table based routing method for multi-sink zigbee WSN. The remainder of this paper is organized as follows: Section 2 describes the routing method in detail, including address management scheme, load level estimation method, path cost maintenance mechanism, two types of heartbeat and route selection procedure; Section 3 describes experimental settings under NS-2 simulation environment; experimental results are given out and discussed in Section 4; finally conclusions are drawn in Section 5 II. RANK TABLE BASED ROUTING METHOD Fig. 1 is a schematic diagram of a multi-sink zigbee WSN. All the nodes distribute randomly and uniformly in a two-dimensional space. There are three types of node shown in Fig. 1, namely coordinator/sink, router (sensor node with routing function) and end device (sensor node without routing function). Figure 1. Diagram of a multi-sink ZigBee WSN A. Address Management The WSN in this paper is deployed in mesh topology. The stochastic address assignment mechanism[6] is used to assign network addresses. The strategy of address management in our routing method is: Journal of Communications Vol. 8, No. 8, August 2013 ©2013 Engineering and Technology Publishing 535 Index Termrank table, routing method, multi- sink, zigbee, wireless sensor network

Upload: others

Post on 07-Feb-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Rank Table Based Routing Method for Multi-Sink Zigbee

A Rank Table Based Routing Method for Multi-Sink

Zigbee Wireless Sensor Network

Qianrong Gu1, Hongying Zuo

2, Ruidan Su

3, Jihui Xu

1, and Huaiyu Xu

1

1 Shanghai Advanced Research Institute Chinese Academy of Sciences, China

2 Pactera Technology International Ltd. China

3 College of Information Science and Engineering, Northeastern University, China

[email protected]; [email protected]; [email protected]; [email protected]; [email protected]

Abstract—In this paper, we propose a rank table based routing

method to solve congestion and traffic balancing problem in

multi-sink zigbee networks. Each node has a rank table to cache

path costs and next hop addresses between itself and all the

sinks. All the sinks broadcast heartbeat packets containing their

load level information as path costs periodically. Each router

adds its own load level to the path cost in the heartbeat packets

from sinks before relaying them. The rank table of a node is

updated constantly according to the received heartbeats. When a

node needs to transmit data to sinks, the rank table is used to

determine to which sink the packet should be sent, then the

packet is routed to the address in the rank table marked as next

hop for this sink. The proposed routing method is evaluated by

ns-2. Simulation results show the traffic load level among sinks

can be balanced effectively; packet loss and network congestion

can be relieved dramatically.

I. INTRODUCTION

Wireless Sensor Network (WSN) is usually deployed

with a great number of sensor nodes to cover a large

range of area to monitor events, collect data from

environment, etc. The data collected by sensor nodes is

usually transmitted to sink nodes, which are gateways to

outside world, for further processing by a multi-hop

network. Node failures and relocations should not hinder

the successful transmission of data to the sinks.

Consequently, WSN needs to be capable of adapting to

changes in network topology caused by node failures,

relocations and so on.

Initially, research interest is focused on single sink

WSN [1] and [2]. However, scalability of single sink

WSN is not good enough to satisfy the demand of

transmitting data from a large number of nodes to a

single sink. As the number of nodes increases, network

congestion due to hot spot phenomenon will be so severe

that transmission cannot continue. Recently, interest is

changed toward to multi-sink WSN [3]-[5]. In a

multi-sink WSN, the mean number of hops between

nodes and sinks can be reduced remarkably; network

Manuscript received Month Day, 2013; revised Month Day, 2013,

accepted Month Day, 2013.

Corresponding author email: [email protected].

doi:10.12720/jcm.8.8.535-539

congestion can be relieved by using appropriate routing

method to balance traffic load among the sinks evenly.

ZigBee is a specification of high level communication

protocols built on top of IEEE 802.15.4 standard.

Because of its low cost low power consumption

properties and ability to support mesh network topology,

zigbee is an ideal technology for implementation of

WSN.

In this paper we present a rank table based routing

method for multi-sink zigbee WSN. The remainder of

this paper is organized as follows: Section 2 describes the

routing method in detail, including address management

scheme, load level estimation method, path cost

maintenance mechanism, two types of heartbeat and

route selection procedure; Section 3 describes

experimental settings under NS-2 simulation environment;

experimental results are given out and discussed in

Section 4; finally conclusions are drawn in Section 5

II. RANK TABLE BASED ROUTING METHOD

Fig. 1 is a schematic diagram of a multi-sink zigbee

WSN. All the nodes distribute randomly and uniformly in

a two-dimensional space. There are three types of node

shown in Fig. 1, namely coordinator/sink, router (sensor

node with routing function) and end device (sensor node

without routing function).

Figure 1. Diagram of a multi-sink ZigBee WSN

A. Address Management

The WSN in this paper is deployed in mesh topology.

The stochastic address assignment mechanism[6] is used

to assign network addresses. The strategy of address

management in our routing method is:

Journal of Communications Vol. 8, No. 8, August 2013

©2013 Engineering and Technology Publishing 535

Index Term—rank table, routing method, multi- sink, zigbee,

wireless sensor network

Page 2: A Rank Table Based Routing Method for Multi-Sink Zigbee

1. The address of coordinator, a special sink, is

0x0000;

2. Each end device and each sink is assigned a unique

16-bit address before joining the WSN;

3. Each router is assigned a unique 16-bit address; and

addresses of all the sinks are set into its rank table before

it joins the WSN;

4. When a new sink joins the WSN, router and

sink/coordinator add a new entry in their rank table

according to heartbeat packet from the new sink.

B. Load Level Estimation

In order to make our routing method has ability to

route a packet bypassing congestion part of WSN, it is

necessary to know load level of each router node and sink.

The load level of a node can be estimated by monitoring

buffer usage of the node [7], by sampling channel

utilization of the node [8], and so on. The mechanism

used in this paper is basically same as the one in [7], and

is described briefly as follows:

1. A router or a sink checks the buffer usage

periodically;

2. Let Uk and Uk-1 be the buffer usage checked at kth

and (k-1)th period, respectively. Calculate change rate of

buffer usage ΔUk by ΔUk = Uk - Uk-1;

(1)

3. Use ΔUk, ΔUk-1, … , ΔUk-n to predict ΔUk+1;

4. Use Uk + ΔUk+1 as estimation of lord level of next

period.

The load level of each router and sink estimated by

above mechanism will be used in path cost calculation.

C. Path Cost Calculation

We extend the concept of rank in [9] to path costs. The

rank value of a node in [9] reflects its distance cost

following line segments to the coordinator. In this paper,

all the nodes have a rank table to cache the path costs. An

entry of path cost in the rank table of a router or an end

device reflects the path cost from it to a sink. An entry of

path cost in the rank table of a sink reflects the path cost

from it to another sink. The value of path cost not only

reflects the distance (or number of hops) to a sink, but

also reflects the load level along the path. The path costs

are determined by each node in a distributed manner and

will be updated continuously.

We also extend the concept of heartbeat in [9] to fulfill

the path cost calculation. There are two types of heartbeat

packets in the system, globe heartbeats broadcasted by

sinks though the whole WSN and local heartbeats

transmitted by routers only to their neighbors. The packet

format of each heartbeat is SinkHeartBeat (sender’s

address, sequency, path cost) and RouterHeartBeat

(sender’s address, sink address, path cost to the sink),

respectively. The intervals between SinkHeartBeat and

RouterHeartBeat are dynamically adjusted according to

the absolute value of ΔUk of sink and router, respectively.

The larger the |ΔUk| is, the smaller the interval is.

The procedure of path cost maintenance for

sink/coordinator, router, and end device are described in

detail as follows:

The first scenario is maintaining path cost by using

SinkHeartbeat:

For sink/coordinator:

1. Each sink broadcasts SinkHeartbeat (sh’s address,

sh’s sequence, sh’s path cost) packets with its lord level

as path cost periodically, each time with an increment in

sequence.

2. After receiving a SinkHeartbeat from neighbor;

Node S checks if it can find sh’s address in its rank

table. If cannot, add a new entry in its rank table for

this sh’s address.

Node S checks if the sh’s sequence is larger than the

timestamp of sh’s address recorded in its rank table. If

so, S records the packet and if S has never received

SinkHeartbeat with this sh’s sequence from sh’s

address then S starts a timer WaitSinkHeartbeat.

3. If Node S has received SinkHeartbeat with same

pair of sh’s address and sh’s sequence as its record from

all its neighbor then;

S finds the minimum path cost and the neighbor

address corresponding to it.

S updates the path cost of sh’s address in the rank

table to the minimum path cost and the next hop

address to the neighbor address corresponding to the

minimum path cost.

S updates the timestamp of sh’ address in the rank

table to the value of sh’s sequence.

4. If timer WaitSinkHeartbeat times out and node S

haven’t received the SinkHeartbeat from all its neighbor

then;

S broadcasts a AskSinkHeartbeat(L) packet, where L

is the list of neighbor address who has not relayed the

SinkHeartbeat to S yet.

S restarts the timer WaitSinkHeartbeat until the

maximum retry number is reached.

For router:

On receiving a SinkHeartbeat(sh’s address, sh’s

sequence, sh’s path cost) :

1. Node R checks if it can find sh’s address in its rank

table. If cannot, add a new entry in its rank table for this

sh’s address.

2. Node R checks if the sh’s sequence is larger than

the timestamp of sh’s address recorded in the rank table.

If so, R records the packet else R discards the packet.

3. Node R checks if it has broadcast a SinkHeartbeat

with the same pair of sh’s address and sh’s sequence.

If not;

R updates the sequence record of this sink’s heartbeat

to sh’s sequence in the received packet;

R calculates its current lord level;

R broadcasts SinkHeartbeat(sh’s address, sh’s

sequence, sh’s path cost + R’s lord level).

R keeps a recorder of SinkHeartbeat (sh’s address,

sh’s sequence, sh’s path cost + R’s lord level).

Journal of Communications Vol. 8, No. 8, August 2013

©2013 Engineering and Technology Publishing 536

Page 3: A Rank Table Based Routing Method for Multi-Sink Zigbee

R starts a timer WaitSinkHeartbeat.

1. If node R has received SinkHeartbeat with same

pair of sh’s address and sh’s sequence as its record from

all its neighbor then;

R finds the minimum path cost and the neighbor

address corresponding to it.

R updates the path cost of sh’ address in the rank table

to the minimum path cost and the next hop address to

the neighbor address corresponding to the minimum

path cost.

R updates the timestamp of sh’ address in the rank

table to the value of sh’s sequence.

2. If timer WaitSinkHeartbeat times out and node R

haven’t received the SinkHeartbeat from all its neighbor

then;

R broadcasts a AskSinkHeartbeat(L) packet, where L

is the list of neighbor address who has failed to relay

the SinkHeartbeat to R.

R restarts the timer WaitSinkHeartbeat until the

maximum retry number is reached.

3. If node R receives AskSinkHeartbeat(L) packet and

its address is in the list of L then R broadcasts the

SinkHeartbeat (sh’s address, sh’s sequence, sh’s path cost

+ R’s lord level) packet again.

For end device:

End device in the WSN just ignores all the

SinkHeartBeat it received.

The second scenario is maintaining path cost by using

RouterHeartBeat:

Only router broadcasts RouterHeartBeat packets

periodically. Sink/coordinator and end device do not

broadcast RouterHeartBeat.

For router:

1. Calculate change in lord level, ΔLk, from ΔUk (see

Eq. 1);

2. Modify path cost of each sink in the rank table by

adding ΔLk to it;

3. Broadcast RouterHeartBeat packet with sink

addresses and their updated path costs to its neighbors.

4. After receiving a RouterHeartBeat from its neighbor,

compare path cost to the sink in RouterHeartBeat with

path cost of the same sink address in the rank table. If

path cost to the sink is smaller, then update the path cost

in the rank table to path cost to the sink and update the

next hop address in the rank table to sender’s address in

RouterHeartBeat corresponding to this path cost to the

sink.

For end device:

1. After receiving a RouterHeartBeat from its neighbor,

find the minimum path cost to the sink from

RouterHeartBeat.

2. Compare the minimum path cost to the sink with the

path cost in the rank table. If the minimum path cost to

the sink is smaller, then update the path cost in the rank

table to the minimum path cost to the sink and update the

next hop address in the rank table to sender’s address in

RouterHeartBeat.

D. Rank Table

Each node in the WSN has a rank table. The content

of rank table of sink/coordinator and router is different

from that of end device. The two types of rank table are

described in the following.

1. Sink/Coordinator and Router

The rank table records the path costs information to

the sinks. Each entry in the table corresponds to one sink

in the WSN. The entry contains information of 1) address

of the sink, 2) path cost to the sink, 3) address of next hop,

4) timestamp of the path cost. The field of timestamp is

used to record the largest sh’s sequence among received

SinkHeartbeats. By checking timestamp can avoid the

path cost be overwritten by an old SinkHeartbeat and

ensure the path cost information in the table is

up-to-the-date.

2. End device

Because end device does not have routing function,

the rank table of it only has one entry containing two

fields: 1) path cost, 2) next hop address.

E. Routing Method

The communication in a multi-sink WSN can be

divided into three types: 1) Type1, packet sent from end

device or router to sink/ coordinator. Since coordinator

functions as a special sink in the system, they are same; 2)

Type2, packet sent between sink and coordinator; 3)

Type3, packet sent from coordinator to end device or

router. Since the rank table of sink/coordinator and router

has the routing information to all the sinks and

coordinator in the WSN,the same routing method can be

used for communication Type1 and Type2. Because

coordinator does not have the routing information other

than sinks in its rank table, communication Type3 must

use a routing method different from that of Type1 and

Type2. The following describes two different routing

methods.

Routing method for Type1 and Type 2

1. End device

When need to send a packet to sink, just send the

packet to the next hop address in its rank table.

2. Router

When need to send or route a packet to sink, loop up

its rank table to find the sink with minimum path cost,

and then send the packet to the next hop address

corresponding to this sink.

3. Sink/Coordinator

When a packet needs to be sent between coordinator

and sink, loop up its rank table to find the next hop

address corresponding to the destination, and the send the

packet to this next hop address.

Routing method for Type 3

Because the WSN is deployed in mesh topology and

stochastic address assignment mechanism is used to

assign addresses to nodes, If there is a need of

Communication Type3, Ad hoc on-demand distance

vector routing method (AODV)[10] will be used .

III. EXPERIMENTAL SETTINGS

Journal of Communications Vol. 8, No. 8, August 2013

©2013 Engineering and Technology Publishing 537

Page 4: A Rank Table Based Routing Method for Multi-Sink Zigbee

NS-2[11] is used to simulate the routing method

proposed in section 2. The WSN used in simulation has

400 routers, 400 end devices and 6~10 sinks (including 1

coordinator) distributed randomly in an area of 2km×2km

with the coordinator in the center (see Fig.1). We ensure

each end devices at least has one router or one sink, each

router at least has one other router and each sink at least

has on router in their neighbor to eliminate orphan node

phenomenon. The traffic is formulated as follows:

1. End device cannot choose which sink the packet is

sent to.

2. The destination sink of a packet is determined

dynamically by routers along the path.

3. At normal, each end device and each router will

send 1~2 packets per second to sink.

4. End devices and routers located in a random

selected area will send packets at a speed of 10~20

packets/s for a duration of 10~180 seconds. The speed

and duration are selected randomly in the above range,

respectively.

5. The size of selected area is randomly chosen from a

range of 10%~20% of network size.

The interval between SinkHeartbeats and

RouterHeartBeat are adjusted in a range of 100ms~1s and

50ms~500ms according to their |ΔLk| , respectively.

Simulation parameters are list in Table I.

TABLE I SIMULATION PARAMETERS

Parameter Value

Network size 2km×2km

Bit rate 250kbps

Number of nodes 806~810

Mobile nodes None

Transmission range 100m

Packet size 75 Bytes

Buff size of sink 25 packets

Buffer size of router 10 packets

Simulation duration 1200s

IV. EXPERIMENTAL RESULTS

Fig. 2 shows the simulation results of throughputs

versus number of sinks in the WSN. Fig.2 shows clearly

increment in the number of sinks can improve the

throughput of a WSN, but there is a trade off. The

overhead of routing process also increases, this results in

the ratio of throughput to theoretical throughput

decreasing with the number of sinks growing.

Fig. 3 shows when traffics exceed a limitation

illustrated in Fig. 2, the delivery ratio will drop sharply.

Fig. 4 shows the traffic balance ability of our routing

method in a WSN with 6 sinks. When there is a sudden

increase in traffic occurred from 28 Sec to 107 Sec, the

burst of traffic can be balanced among all the sinks

rapidly. During this procedure, the delivery ratio may

drops temporarily due to network congestion in a local

area, but will recover soon after the traffic reaches

balancing status among all the sinks.

Figure 2. Throughput versus number of sinks

Figure 3. Delivery ratio versus Traffics

Figure 4. Overall through vs. that of 6 sinks

V. CONCLUSIONS

A rank table based routing method is proposed in this

paper. The simulation results confirm the effectiveness of

the method. The traffic can be balanced dynamically and

rapidly among sinks at the cost of heartbeat overhead

between nodes. To suppress routing overhead increasing

with increment in the number of sinks, maybe the

network architecture of a global mesh-router backbone

combined with local tree clusters worth further study.

REFERENCES

[1] J. Yick, B. Mukherjee, and D. Ghosal, "Wireless sensor network

survey," Computer Networks, vol. 52, issue 12, pp. 2292-2230,

2008.

Journal of Communications Vol. 8, No. 8, August 2013

©2013 Engineering and Technology Publishing 538

Page 5: A Rank Table Based Routing Method for Multi-Sink Zigbee

[2] M. Kohvakka, M. Kuorilehto, M. Hännikäinen, and T. D.

Hämäläinen, "Performance analysis of IEEE 802.15.4 and ZigBee

for large-scale wireless sensor network applications," in

Proceedings 3rd ACM International Workshop on Performance Evaluation of Wireless AD hoc, Sensor and Ubiquitous Networks,

2006, Spain.

[3] C. Buratti, J. Orriss, and R. Verdone, "On the design of Tree-Based topologies for Multi- Sink wireless sensor networks,"

in Proc. NEWCOM-ACORN Workshop, Vienna, 2006.

[4] B. L. Wenning, A. Lukosius, A. Timm-Giel, C. Görg, and S. Tomic, "Opportunistic distance-aware routing in multi-sink

mobile wireless sensor networks," in Proceedings ICT Mobile

Summit, 2008. [5] E. Cipollone, F. Cuomo, S. D. Luna, U. Monaco, and F. Vacirca,

"Topology characterization and performance analysis of IEEE

802.15.4 Multi-Sink wireless sensor networks," in Proc Sixth Annual Mediterranean Ad Hoc Networking Workshop, Corfu,

Greece, 2007.

[6] Zigbee Specification, 2007 [7] B. Hull, K. Jamieson, and H. Balakrishnan, "Mitigating

congestion in wireless sensor networks," in Proceedings 2nd

International Conference on Embedded Networked Sensor Systems, 2004.

[8] C. Y. Wan, S. B. Eisenman, and A. T. Campbell, "CODA:

congestion detection and avoidance in sensor networks," in Proceedings 1st International Conference on Embedded

Networked Sensor Systems, 2003.

[9] M. S. Pan and Y. C. Tseng, "ZigBee-Based Long-Thin wireless sensor networks: Address assignment and routing schemes," Int. J.

Ad Hoc and Ubiquitous Computing, vol. 12, no. 3, pp. 147-156,

2013. [10] C. E. Perkins and E. M. , "Ad-hoc on-demand distance vector

routing", in Proc. WMCSA Second IEEE Workshop on Mobile

Computing Systems and Applications, 1999.

[11] The Network Simulator. [Online]. Available:

http://www.isi.edu/nsnam/ns/

Qianrong Gu received his B.E. in automatic control from Shanghai

Jiaotong University, China, in 1993; his M.E and PhD in electronics engineering from The University of Tokyo, Japan, in 2000 and 2003,

respectively. Currently, he is a senior visiting researcher in Shanghai

Advanced Research Institute, Chinese Academy of Sciences. His current research interests are wireless sensor network and its

applications.

Hongying Zuo received her B.E. in computer application from Inner

Mongolia University of Technology, China, in 1998; her M.E and PhD in computer science and technology from Kitami Institute of

Technology, Japan, in 2004 and 2006, respectively. Now she is a senior

software project manager in Pactera Technology International Ltd. China.

Ruidan Su received his BE from South China Normal University in 2006 and his Master's Degree in Northeastern University in 2010.He is

currently pursuing his PhD with computer science and computer

application of technology in Northeastern University. He had published more than 10 papers during his MD and Ph.D study in Northeastern

University.

Jihui Xu received his B.E. in software engineering and M.E. in

Computer software and theory from Northeastern University, China, in

2010 and 2012, respectively. Currently he is a software engineer in Shanghai Advanced Research Institute, Chinese Academy of Sciences.

Huaiyu Xu received his B.E and M.E. in computer application from Northeastern University, China, in 1991 and 1994, respectively; his PhD

in electronics engineering from The University of Tokyo, Japan, in

2002. Now he is a senior research fellow in Shanghai Advanced Research Institute, Chinese Academy of Sciences.

Journal of Communications Vol. 8, No. 8, August 2013

©2013 Engineering and Technology Publishing 539