1
The Orphan Problem in ZigBee-based Wireless Sensor Networks
IEEE Trans. on Mobile Computing (also in MSWiM 2007)Meng-Shiuan Pan and Yu-Chee Tseng
Department of Computer ScienceNational Chiao Tung University, Taiwan
2
Outline
Introduction Problem definition The proposed algorithm
Algorithm for the BDDTF problem Algorithm for the EDMM problem
Simulation results Conclusion
3
Introduction
ZigBee is a developing standard which is considered to satisfy the needs of WSN
In ZigBee, when forming a network, devices are said to join the network if it can receive a network address Each device tries to associate to the ZigBee coordinator or a
ZigBee router A ZigBee coordinator or router will decide whether to accept
devices according to its capacity The capacity of a ZigBee device relates to the ZigBee address
assignment
4
ZigBee address assignment
In ZigBee, network addresses are assigned to devices by a distributed address assignment scheme
ZigBee coordinator determines three network parameters the maximum number of children (Cm) of a ZigBee router the maximum number of child routers (Rm) of a parent node the depth of the network (Lm)
A parent device utilizes Cm, Rm, and Lm to compute a parameter called Cskip which is used to compute the size of its children’s address pools
Real implementation
5
Assuming Cm=Rm,49 nodes on a 360x360 cm2 sending fieldTX range is 100 ~ 200 cm
Although small Rm can lead to fewer orphans,it also results in longer end-to-end delay
Large-scale tests by simulations
6
(Rm, Lm) are equal to (a) (4, 7), (b) (3, 9), and (c-d) (2, 15).There are 461, 341, 120, and 351 orphan nodes, respectively
Assume Cm = RmA router at depth d serving as a left
There exists a loss of address spaces
This is why a larger part of network at (d) is unable to join the network
Rm
Rm dLm
1
1 1
7
An ZigBee address assignment example
Cm = 5Rm = 3Lm = 2
ZigBee coordinator ZigBee router
ZigBee router-capable deviceZigBee end device
Tree link Communication link
Addr = 0Cskip = 6
CE
BD
A
Addr = 1Cskip = 1
Addr = 2
Addr = 3Addr = 5
Addr = 8
Addr = 7Cskip = 1
Addr = 9Addr = 10
Addr = 19
Addr = 15 Addr = 13Cskip = 1
Addr = 14
Addr = 17
Addr = 18
Addr = 11
Addr = 12
0 1 7 13
Cskip=6 Total:21
19For coord.
7node B
20
A becomes an orphan node !!
8
Orphan Problem:A better assignment
This example shows that a better assignment can effectively reduce orphan devices A better assignment can connect more zigbee devices
Cm = 5Rm = 3Lm = 2
Addr = 0Cskip = 6
CE
BD
A
Addr = 1Cskip = 1
Addr = 2
Addr = 3Addr = 5
Addr = 7Cskip = 1
Addr = 9Addr = 10
Addr = 19
Addr = 15 Addr = 13Cskip = 1
Addr = 14
Addr = 17
Addr = 18
Addr = 11
Addr = 12
Addr =8Addr =4
Addr =8
9
Contributions
Model an orphan problem in ZigBee networks by two subproblems The Bounded-Degree-and-Depth-Tree Formation (BDDTF)
problem The End-Device Maximum-Matching (EDMM) problem
Prove the BDDTF problem is NP-complete Propose a network formation algorithm, which can
effectively reduce the number of orphan devices
10
Outline
Introduction Problem definition The proposed algorithm
Algorithm for the BDDTF problem Algorithm for the EDMM problem
Simulation results Conclusion
11
Problem definition
Given Cm, Rm, and Lm and coordinator t , we model the orphan problem by two subproblems: BDDTF (for routers) EDDM (for end devices)
In the BDDTF problem, we consider only router-capable devices Given Gr=(Vr, Er) The goal is to assign parent-child relationships to nodes
such that as many nodes can join the network as possible A node in Vr can have at most Rm child devices and The depth of the tree should be smaller than Lm
12
NP Completeness for BDDTF problem
It has been shown that the Degree-Constrained Spanning Tree problem is NP-C
Given G = (V, E) and a positive integer K≦|V|, the Degree-Constrained Spanning Tree (DCST) problem is to find a spanning tree T of G such that no vertex in T has a degree larger than K
THEOREM 1. The BDDTF problem is NP-complete PROOF.
1) Given a tree T in Gr, we can check if T satisfies the constraints of Rm and Lm and if T contains more than N nodes in polynomial time
2) The DCST problem can be reduced to a special case of the BDDTF problem when Rm = K, Lm∞, and N = |Vr|
13
The EDMM problem
Goal: to connect end devices to the tree T constructed earlier satisfying the ZigBee definition. The goal is to connect as many end devices to T as
possible We model the sensor network by a graph
Gd = ({ V’r ∪Ve }, Ed)
Routers, excluding the ones at depth Lm, in T
Comm. link between V’r and Ve
All end devices
Cm = 4Rm = 2Lm = 2
Original T
Gd
V’r∪Ve
14
The EDMM problem
Based on T, each vertex v∈V’r can accept at most Cv≧(Cm-Rm) end devices
From Gd, we construct a bipartite graph Gb=({ V’br∪Vbe }, Ebd) as follows Rule 1: From each vertex v∈V’r , generate Cv vertices in V’br
Cm = 4Rm = 2Lm = 2
Can accept 2 child end devices
Can accept 3 child end devices
GF
CD
AB
EV’br
15
The EDMM problem
Rule 2: From each vertex u∈Ve, generate a vertex u in Vbe
Rule 3: From each edge (v, u) in Ed, connect each of the Cv vertices generated in rule 1 with the vertex u generated in rule 2. These edges form the set Ebd
5
4 7
63
2
GF
CD
AB
E
1
A
B
C
D
E
F
G
1
2
3
4
5
6
7
V’br∪Vbe
Gb=({V’br∪Vbe}, Ebd)
16
Outline
Introduction Problem definition The proposed algorithm
Algorithm for the BDDTF problem Algorithm for the EDMM problem
Simulation results Conclusion
17
Centralized BDDTF Algorithm (SP)
In our algorithm, we decide to connect or disconnect a node according to its association priority The priority assignment is based on forming BFS trees from
Gr
priority(x) > priority(y) if (subtree_size(x) > subtree_size(y)) priority(x) > priority(y) if (subtree_size(x) = subtree_size(y) and
potential_parents(x) < potential_parents(y)) A node takes a tree neighbor as its potential parent if this neighbor
has a smaller hop count distance to the root of the BFS tree than its
18
Centralized BDDTF Algorithm (cont.)
Initially, T contains only the coordinator t Then in each iteration, there are two phases: Span
and Prune In the Span phase: we will pick a node in T, say x, and
span from x a subtree T’ to include as many nodes not in the tree T as possible. Then we attach T’ to T to form a larger tree
In the Prune phase: some of the newly added nodes in T’ may be trimmed to satisfy ZigBee definition
The resulting tree is then passed to the next iteration for another Span and Prune phases
19
Centralized Algorithm for the BDDTF problem
t
Communication link
Start Span phase: form a BFS tree T’ rooted at t
Rm=3Lm=3
Rm=3Lm=3
t
T’
Initially, only t in T
20
Start prune phase:
Compare association priorities of t’s 5 children in T’
Then check this node no need to prune
Centralized Algorithm for the BDDTF problem
t
T’Rm=3Lm=3
Has more than 3 child routers
will be pruned
The result of this iteration
21
Centralized Algorithm for the BDDTF problem
Rm=3Lm=3
2nd iteration: Start Span phase from this node
Can connect this two nodes
3rd iteration: Start Span phase from this node
The resulting tree
Distributed algorithm for the BDDTF problem (DBS) Our distributed algorithm for BDDTF will do a Depth-first-
search followed by a Breadth-first-like Search Depth-first search tries to form some long, thin backbones, which are
likely to pass through high-node-density areas Depth Probing
The coordinator t will flood a Probe(sender_addr, current_depth, Lm) packet Each node will set its parent to sender_addr, and curretn_depth to
current_depth + 1 Probe Response
After the depth probing, each node reports to its parent a Report packet containing 1) the size of the subtree rooted by itself and 2) the height of the subtree rooted by itself
Backbone Formation After t receives all its children’s report, it will choose at most Rm children with
the larger subtree sizes as backbone nodes by sending Backbone() messages When a node receive a Backbone(), it further invites its child with the tallest
subtree into the backbone by sending Backbone()
22
Distributed algorithm for the BDDTF problem (DBS) From these backbones, we span the tree in a
breadth-first-like manner BFS-like spanning
The coordinator can broadcast beacons to start the network A backbone node must associate with its parent on the
backbone, and its parent must accept the request For each non-backbone node
Compete with each other by its association priority Association priority is defined by the size of the subtree rooted by
this node
23
24
Centralized Algorithm for the EDMM problem Given a Gd = ({ V’r ∪Ve }, Ed), a solution for the
EDMM problem can be obtained by applying a bipartite maximum matching algorithm
A
B
C
D
E
F
G
1
2
3
4
5
6
7
A
B
C
D
E
F
G
1
2
3
4
5
6
7
A maximum matching on Gb
Distributed Algorithm for the EDMM problem (Dist-Match) We proposed a simple distributed matching algorithm
Two phases: greedy phase followed by probing phase Each orphan router will try to probe a 3-hop alternative path
Greedy phase The routers will accept end devices which have less potential
associable routers Potential parent are the neighbor routers which still have capacity
to accept more end devices Probing phase
For an orphan end device e, it can send a Probe() packet to any neighboring router r
If r has a child end device having other potential parent, r will send another Probe() packet to disassociate it
If r receives Probe_Ack(), e will associate with r
25
26
Outline
Introduction Problem definition The proposed algorithm
Algorithm for the BDDTF problem Algorithm for the EDMM problem
Simulation results Conclusion
27
Network scenario All router-capable devices Number of nodes: 800 Network radius: 200 m
Dotted nodes are orphan nodes !!
Tx range: 35 m Cm=Rm=2, Lm=8 Random vs. regular networks
28
Network scenario All router-capable devices Number of nodes: 800 Network radius: 200 m Tx range: 35 m Vary Rm and Cm
The proposed scheme can effectively reduce the number of orphan routers with a smaller Rm or Lm
Increasing Lm can more effectively reduce orphan routers as opposed to increasing Rm !!
Impact of Rm and Lm on the BDDTF Problem
29
Network scenario Number of nodes: 800 Number of end devices: 8000 Network radius: 200 m Tx range of routers: 35 m, Tx range of end devices: varied (15 ~ 30 m) Cm=15, Rm=3, and Lm=8 Use the proposed scheme to connect routers
all routers can join the network
The EDMM Problem
30
Conclusions
In this paper, we have defined an orphan problem in ZigBee-based wireless sensor networks.
This is the first work that models the orphan problem in ZigBee networks
The proposed network formation strategy is compliant to the standard and can be implemented easily