Chapter 4 Routing Protocols (Part II)hscc.cs.nthu.edu.tw/~sheujp/lecture_note/10wsn/wsn042.pdf ·...
Transcript of Chapter 4 Routing Protocols (Part II)hscc.cs.nthu.edu.tw/~sheujp/lecture_note/10wsn/wsn042.pdf ·...
Chapter 4
Routing Protocols
(Part II)(Part II)
1
Outline
� 4.1 Routing Challenges and Design Issues in WSNs
� 4.2 Flat Routing
� 4.3 Hierarchical Routing
� 4.4 Location Based Routing
� 4.5 QoS Based Routing
� 4.6 Data Aggregation and Convergecast� 4.6 Data Aggregation and Convergecast
� 4.7 Data Centric Networking
� 4.8 ZigBee
� 4.9 Conclusions
2
Chapter 4.6
Data Aggregation and ConvergecastData Aggregation and Convergecast
3
Outline
� 4.6.1 The Impact of Data Aggregation
� 4.6.2 Data Mules
� 4.6.3 Convergecasting Tree Construction and Channel
Allocation Problem (CTCCAP)
� 4.6.4 Distributed Time-Optimal Scheduling for Convergecast
4
Outline
� 4.6.1 The Impact of Data Aggregation
� 4.6.2 Data Mules
� 4.6.3 Convergecasting Tree Construction and Channel
Allocation Problem (CTCCAP)
� 4.6.4 Distributed Time-Optimal Scheduling for Convergecast
5
4.6.1 The Impact of Data Aggregation
� Impact of Data Aggregation in Wireless Sensor Networks
(Krishnamachari, Estrin, & Wicker, 2002)
� Aggregation in Sensor Networks
� Theoretical Results on Aggregation
� Aggregation Techniques
� Performance study� Performance study
6
Aggregation in Sensor Networks
� Traditional Address-Centric routing
� IP address routing
� Not suitable in large scale sensor networks
� Data-Centric Routing
� Content-based routing
� Enhance the data aggregation opportunity� Enhance the data aggregation opportunity
7
Source 1 Source 2
A B
Sink
Source 1 Source 2
A B
Sink
a) Address-Centric (AC) Routing b) Data-Centric (DC) Routing
1
1
2
2
21
1+2
DataAggregation
Theoretical Results on Aggregation
� Let there be k sources located within a diameter X, each a distance di from
the sink. Let NA and ND be the number of transmissions required with AC
and optimal DC protocols, respectively.
1. The following are bounds on ND:
( 1) min( )
min( ) ( 1)
D i
D i
N k X d
N d k
≤ − +
≥ + −
2. Asymptotically, for fixed k, X, as d = min(di) is increased,
3. Although the problem is NP-hard in general, the optimal data aggregation
tree can be formed in polynomial time when the sources induce a
connected subgraph on the communication graph.
min( ) ( 1)D i
N d k≥ + −
1lim D
d
A
N
N k→∞
=
8
Aggregation Techniques
� In general the formation of the optimal aggregation tree is NP-
hard. Some suboptimal DC routing heuristics as follows:
� Center at Nearest Source (CNSDC)
� All sources send the information first to the source nearest to the sink, which
acts as the aggregator.
� Shortest Path Tree (SPTDC)
Opportunistically merge the shortest paths from each source wherever they � Opportunistically merge the shortest paths from each source wherever they
overlap.
� Greedy Incremental Tree (GITDC)
� Start with path from sink to nearest source. Successively add next nearest
source to the existing tree.
� Address Centric (AC)
� No aggregation, distinct shortest paths from each source to sink.
9
Performance Study
Event-Radius model Random Sources model
10
Performance Study (cont.)
Energy Costs
Event-Radius model Random Sources model
11
Conclusions
� Data aggregation can result in significant energy savings for a
wide range of operational scenarios.
� The gains from aggregation are paid for with potentially higher
delay. It should be possible to design routing algorithms for
sensor networks in which this tradeoff is made explicitly.
12
Reference
� B. Krishnamachari, D. Estrin, and S. B. Wicker, "The impact of
data aggregation in wireless sensor networks," In Proceedings
of the 22nd International Conference on Distributed
Computing Systems Workshops (ICDCSW'02), pp. 575-578,
Vienna, Austria, July 02-05 2002.
13
Outline
� 4.6.1 The Impact of Data Aggregation
� 4.6.2 Data Mules
� 4.6.3 Convergecasting Tree Construction and Channel
Allocation Problem (CTCCAP)
� 4.6.4 Distributed Time-Optimal Scheduling for Convergecast
14
4.6.2 Data Mules
� Data MULEs: Modeling a Three-tier Architecture for Sparse
Sensor Networks (Shah, Roy, Jain, & Brunette, 2003)
� Three-tier architecture
� Data MULEs approaches
15
Three-tier Architecture
Access points – ample resources
Mobile nodes – renewable resources for
intermittent connectivity
Source nodes – limited resources
16
� A top tier of WAN connected devices
� A middle tier of mobile transport agents
� A bottom tier made of fixed wireless sensor nodes
Data MULEs approach
� Data Mules
� Exploit mobile nodes (called MULEs)
� MULEs collect data when near sensor
� Transfer data to an access point when close
17
access pointsensor
Discussions
� Benefits
� Energy efficient
� Short distance communication
between sensor and MULE
� Scalable
� Addition of sensors or MULEs
requires no configuration
� Limitations
� No guarantees on data delivery
� MULEs may lose data
� MULEs may not arrive at a
sensor
� MULEs may not arrive at an
access pointrequires no configuration
� Simple
� Least functionality in sensors
� No forwarding, no global
discovery
access point
18
Reference
� R. C. Shah, S. Roy, S. Jain, and W. Brunette, "Data MULEs:
modeling and analysis of a three-tier architecture for sparse
sensor networks," Ad Hoc Networks, Volume 1, Issues 2-3, pp.
215-233, September 2003.
19
Outline
� 4.6.1 The Impact of Data Aggregation
� 4.6.2 Data Mules
� 4.6.3 Convergecasting Tree Construction and Channel
Allocation Problem (CTCCAP)
� 4.6.4 Distributed Time-Optimal Scheduling for Convergecast
20
Convergecasting in WSN
� WSN are mainly used for monitoring
� Monitoring involves data collection and request dissemination
� Convergecasting� Process of data collection from all or a set of sensors in the network
towards the base station (Many to one communication)
� Energy and latency minimization is required for WSNs
21
Convergecasting
� Route construction plays a major role during convergecasting
� Criterion for route construction
� Energy consumption
� Latency incurred
� Choice of MAC layer – since traffic is many to one
2222
Collisions
� Results in packet loss
� Need reliability, use retransmissions
� Retransmission increases energy consumption and latency
� Avoided by using a contention based or contention free MAC
protocolBS
23
1
BS
2
3 4 5
6
CollisionCollision CollisionCollision Coverage Area
or
Sensing Range
Data
Data
Energy & LatencyEnergy
� Energy consumed at a node is used for� Running the transceiver circuitry for transmitting a bit (Etrx)
� Amplifying a bit of data to be transmitted (Eamp)
It depends on the transmission distance
BS BS
E = 4nj Eamp= 4nj
24
3 hops
2 hopsP1
P2
P1
P2
n n
Eamp= 4nj
Eamp= 4nj
Eamp= 5nj
Eamp= 4nj
Eamp= 5nj
Energy consumed for running transceiver
To transmit k data bits from n to BS
P1: 3 * Etrx * k
P2: 2 * Etrx * k
Amplification energy consumed for
transmitting k data bits from n to BS
P1: (4nj + 4nj + 5nj) * k = 13 * k nj
P2: (4nj + 5nj ) * k = 9 * k nj
P1 and P2: paths
BS: Base Station
Energy & Latency (cont.) Energy
� Transceiver startup time
� Frequently switching the transceiver on leads to higher energy wastage
� Aggregation reduces packet header overhead
Time-slot =1 Time-slot = 2
Time-slot = 3
BSBS – Base Station
Aggregation reduces
transmitter startup energy
wastage
Slots allocated to children should
reduce cumulative startup time
of parent’s receiver 1
4 5
2
3
25
Energy & Latency (cont.) Latency
� Time taken to gather data at the base station
� Latency = No. of time-slots × Length of one-slot
� Balanced tree helps in reducing total number of time-slots and length of time-slots
Unbalanced Tree Balanced Tree
BS : Base StationBS
26
Number of slots = 4
Length of each slot = 4 packets
Latency = 16 units
Number of slots = 3
Length of each slot = 3 packets
Latency = 9 units
BS : Base Station
t =1 t = 2 t = 3
t = 4t = 1
BS
1
4 5
2
3
t =1 t = 2 t =1
t = 2t = 3
BS
1
4 5
2
3
Energy & Latency (cont.) Summary
� Energy and latency minimized by avoiding collisions
� Energy consumption can also be minimized by
� Reducing the number of hops
� Choosing path that minimizes amplification energy
� Reducing energy wastage due to transceiver startup time by performing
data aggregationdata aggregation
� Latency minimization by building a balanced routing tree
27
Main Procedures
� Assumptions
� Etrx < Eamp
� One transceiver per node
� Nodes have maximum transmission range (MEamp)
� Clock synchronization mechanism exists
� Builds the tree and allocates channel for the nodes� Builds the tree and allocates channel for the nodes
� Allocates channel for two different convergecast patterns
� Synchronous: Used for realtime data. Enables aggregation. Therefore
parent transmits after it receives from children (parent time-slot > child
time-slots)
� Asynchronous: Used for non-realtime data. Enables aggregation only if
data does not depend in time.
28
Synchronous Convergecast
� Data collection starts from leaf nodes
� Each parent waits for data from its children before sending its data
� Reordering based on timestamp is not necessary at base station
2 3
BS BS
<4, 1> <3, 1>
Note: Weights indicate the
amplification energy expended
Network
13
3
3
1.4
2.2
2
1 2
3
4
5
Convergecast Tree
1 2
3
4
5
<4, 1> <3, 1>
<3, 1>
<2, 1>
<1, 1>
amplification energy expended
to transmit a data bit over that
link
29 <t, c>: a tuple of time-slot t and CDMA code c
Asynchronous Convergecast
� Data collection takes place at independent and not interfering parts of the
network
� Reordering necessary at base station
� Latency will be low
Network 2 3
BS
Convergecast Tree
BS
Note: Weights indicate the Network
1
2 3
3
3
3
1.4
2.2
2
1 2
3
4
5
1 2
3
4
5
<1, 1>
<2, 1>
<3, 1>
<1, 1><2, 1>
Note: Weights indicate the
amplification energy expended
to transmit a data bit over that
link
30
Channel Allocation Criterion 1
� Each node has one transceiver
� Therefore a parent with two children cannot receive from both
of them at the same time using two different codes
� Therefore children transmit at different time instants
ParentX = ParentYParentX = ParentY
X Y
ParentX = ParentY
X Y
ParentX = ParentY
<t1,c1> <t2,c1><t1,c1> <t1,c2>
31
Channel Allocation Criterion 2
� Avoid exposed terminal problem
ParentX ParentYTransmission
range
If X and Y useCollisionCollision CollisionCollision
X Y
If X and Y use
the same channel
If X and Y transmit
at different time-slots
If X and Y transmit
using different CDMA
codes
32
Channel Allocation Criterion 3
� Parent cannot receive the same time it is transmitting
� Therefore, we have parent time-slot ≠ child time-slot
ParentParentxParentParentx
X
ParentX
<t1,c1>
<t1,c2>
X
ParentX
<t1,c1>
<t2,c1>
33
Algorithm
� Build the tree and allocate the channel (is a tuple of time-slot tand CDMA code c, <t, c>)
� Tree constructed in a top down manner
� Use channel allocation criteria defined earlier
� Additional criterion for synchronous convergecasting� child time-slot < parent time-slot
� Since tree construction is top down, it is not possible to allocate � Since tree construction is top down, it is not possible to allocate a valid time-slot for children
� Channel allocation in two phases� Phase I
� Construct tree and allocate channel in increasing order of time-slots
� Phase II� Reverse mapping of time slots to enable synchronous convergecast
34
CTCCAA: Phase I (Tree Construction)
� Construct the tree by reducing number of hops and then choose the path that consumes minimum amplification energy� Reason: Etrx < Eamp since transmission range of sensors are small
� Start constructing the tree with Base station (BS) as the root node
� Maintain a possible parent and a possible child list� Possible Parent List (PPL) = {All nodes recently added to the tree} � Possible Parent List (PPL) = {All nodes recently added to the tree}
� Possible Children List (PCL) = {x | there exists y ∈ PPL such that Eamp(x,y) < MEamp}
� Parent selection� For all x ∈ PCL parentx = arg Minforall y ∈ PPL Eamp(x,y)
� If for all x ∈ PCL parentx ≠ null, then copy PCL to PPL
35
Example: Phase I
Initially current level is 0
PPL = {BS}
PCL = {1, 2}
Since BS is the only possible
parent both 1 and 2 choose 1
2 3
BS
1 2
Weights on links indicate the
amplification energy expended
to transmit a data bit
parent both 1 and 2 choose
BS as their parent.
13
3
3
1.4
2.2
23
4
5
36
CTCCAA: Phase I (Channel Allocation)
� Use a combination of CDMA codes and time-slots
� Allocate children a time-slot that is greater than parent (will do
reverse mapping in phase II)
37
Example: Phase I
Weights on links indicate the
amplification energy expended
to transmit a data bitThis example assumes channel to be
divided over time.
Initially current level is 0
PPL = {BS}
BS
1<1, 1>PPL = {BS}
PCL = {1, 2}1
2
3
4
5
<1, 1><2, 1>
13
3
3
1.4
2.2
2
38
Example: Phase I
Weights indicate the
amplification energy
BS
1
Initially current level is 0
PPL = {1, 2}
PCL = {3, 4, 5}
<1, 1> 12
3
4
5
<1, 1>
<3, 1>
<4, 1>
<2, 1>
<2, 1>
13
3
3
1.4
2.2
2
39
CTCCAA: Phase II
� Only executed for synchronous convergecast
� Use maximum time-slot (Maxts) allocated in the network
� Actual time-slot = Maxts – allocated time-slot
BSMaxts = 4
40
<1, 1> 2
3
4
5
<2, 1>
<4, 1>
<3, 1>
<2, 1> <1, 1>
<4, 1>
<3, 1>
<2, 1>
<3, 1>1
Example
� This shows the advantage of divided channel over time and
CDMA Codes. CDMA codes help in reducing latency by
increasing time-slot reuse
BS
1 2
3
4
5
<3, 2><2, 2>
<1, 1>
<2, 1>
<1, 2>
41
Conclusions
� Convergecast will be preceded by broadcast in monitoring applications
� Measured energy and latency incurred during convergecastover a broadcast tree and a tree constructed by CTCCAA
� Similarly we measured energy and latency for broadcasting over both the trees
42
Reference
� V. Annamalai, S.K.S. Gupta, and L. Schwiebert, “On tree-
based convergecasting in wireless sensor networks,” IEEE
Wireless Communications and Networking, vol. 3, pp.1942-
1947 , March 2003.
43
Outline
� 4.6.1 The Impact of Data Aggregation
� 4.6.2 Data Mules
� 4.6.3 Convergecasting Tree Construction and Channel
Allocation Problem (CTCCAP)
� 4.6.4 Distributed Time-Optimal Scheduling for Convergecast
44
Outline
� 4.6.4. Distributed time-optimal scheduling for convergecast
� 4.6.4.1. System model and Assumptions
� 4.6.4.2. Convergecast in tree networks
� 4.6.4.2.1. Linear Networks
� 4.6.4.2.2. Multi-line Networks
� 4.6.4.2.3. Tree Networks
� 4.6.4.2.4. Sleep schedule for energy conservation
� 4.6.4.3. Convergecast in general networks
� 4.6.4.4. Convergecast in other scenarios
45
4.6.4. Distributed Time-optimal Scheduling for
Convergecast
� Convergecast is a typical many-to-one communication pattern
in sensor network applications.
� In convergecast many, or all nodes in the network send data to
a base station during a relatively short time period.
� Using CSMA MAC layer, the convergecast latency incurred by
radial coordination is far from the optimal.radial coordination is far from the optimal.
� TDMA schedule such that the entire convergecast can be
completed in minimal number of timeslots.
46
4.6.4.1. System Model and Assumptions
� Assumptions
� the nodes and the associated base station are static
� the nodes (including the base station) cannot transmit and receive at the
same time
� the bandwidth of every wireless link in the network is assumed to be the
same
the network connectivity is fixed over time� the network connectivity is fixed over time
� the maximum length of a packet is fixed
� the drift in the clock of a node is bounded all the time.
47
4.6.4.2. Convergecast in Tree Networks
� There are three considers of sensor nodes and propose an
optimal convergecast scheduling algorithm.
� linear networks
� multi-line networks
� tree networks
48
4.6.4.2.1. Linear Networks
� We define the following states that a node can be in each
timeslot during the convergecast
� R: The node may receive from a neighboring node.
� T: The node can transmit.
� I : The node neither transmits nor receives.
49
Linear Networks (cont.)
A Linear Network
Convergecast Schedule
50
4.6.4.2.2. Multi-line Networks
� Convergecast scheduling algorithm for multi-line networks is
to schedule transmissions parallelly along multiple branches
Next timeslot
R T
51
State transition for convergecast scheduling
Next timeslotNext timeslot
R T
I
� The network consists of branches A, B, C and D (A < B < C <
D) with 3, 2, 2, and1 nodes
Multi-line Networks (cont.)
A multi-line network
52
Multi-line Networks (cont.)
Convergecast schedule for multi-line networks
53
The Pkts Left field is used to track the number of packets remaining in each branch.
The Last Slot field shows the last timeslot in which a branch has forwarded a
packet to the base station (two less than the last active timeslots).
4.6.4.2.3. Tree Networks
� Convergecast scheduling algorithm for tree networks is based
on the observation that a tree network can be reduced to a
multi-line network with each line represented as a combination
of linear branches of nodes.
54
Tree Networks (cont.)
Reduction of a tree network into linear branches.
(a) (b)
55
4.6.4.2.4. Sleep Schedule for Energy
Conservation
� Energy spent in sleep state is negligible
� At most 3N timeslots are required to finish the convergecast
� The total energy consumption in the network is
Joules2
)1(3 eNN +
� Hence, we conclude that the sleep schedule results in about
50% energy conservation in linear networks.
56
4.6.4.3. Convergecast in General Networks
57
4.6.4.4. Convergecast in Other Scenarios
� We show that our convergecast scheduling algorithm is
applicable even when these assumptions do not hold.
� Base station initiated convergecast
� Nodes with multiple packets
� Non-ideal radio characteristics
58
Convergecast in Other Scenarios (cont.)
Base station initiated convergecast in linear networks.
59
Convergecast in Other Scenarios (cont.)
(a)
(b)
Multi-packet network.
Non-ideal radio propagation characteristics.
60
Conclusions
� A minimal time distributed convergecast scheduling algorithm
for sensor networks.
� The optimal convergecast schedule consists of
3N -3 timeslots, where N is the number of nodes in the network.
� More than 50% of the energy can be saved by using the
proposed sleep schedule.proposed sleep schedule.
61
Reference
� S. Gandham, Y. Zhang, and Q. Huang, “Distributed time-
optimal scheduling for convergecast in wireless sensor
networks,” Computer Networks, vol. 52, pp. 610-629, 2008.
62
Chapter 4.7
Data centric networkingData centric networking
63
Outline
� 4.7.1 Data centric routing
� 4.7.2 Data-centric storage
� 4.7.2.1 One-dimensional data storage
� 4.7.2.2 Multi-dimensional data storage
� 4.7.2.3 Hierarchical data storage
64
4.7.1 Data Centric Routing
� A central querier/data sink (or collection of queriers/sinks)
issues queries that sources in the network respond to. Due to
energy constraints it is desirable for much of the data
processing to be done in-network, and this has led to the
concept of data centric information routing, in which the
queries and responses are for named data.queries and responses are for named data.
� A sensor node is not an identity (address)
� Content based and data centric
� Where are nodes whose temperatures will exceed more than 10 degrees for
next 10 minutes?
� Tell me in what direction that vehicle in region Y is moving?
� Give me periodic reports about animal location in region A every 30 seconds.
65
Data Centric Routing (cont.)
� Depending on the applications, there are likely to be different
kinds of queries in these sensor networks.
� The types of queries can be categorized in many ways, for
example:
� Continuous queries, which result in extended data flows (e.g. “Report
the measured temperature for the next 7 days with a frequency of 1 the measured temperature for the next 7 days with a frequency of 1
measurement per hour”) versus One-shot queries, which have a simple
response (e.g. “Is the current temperature higher than 70 degrees?”)
� Aggregate queries, which require the aggregation of information from
several sources (e.g. “Report the calculated average temperature of all
nodes in region X”) versus Non-aggregate Queries which can be
responded to by a single node (e.g. “What is the temperature measured by
node x?”)
66
Data Centric Routing (cont.)
� Complex queries, which consist of several nested or batched sub-queries
(e.g. “What are the values of the following variables: X, Y, Z?”) versus
simple queries, which have no sub-queries (e.g. “What is the value of the
variable X?”)
� Queries for replicated data, In which the response to a given query can
be provided by many nodes (e.g. “Is there at least one target in the
area?”) and queries for unique data, in which the response to a given area?”) and queries for unique data, in which the response to a given
query can be provided only by one node.
67
Data Centric Routing (cont.)
� SPIN
� One-shot interactions
� 3-stage handshake protocol
� ADV – new data advertisement
� REQ – request for data
� DATA – data messageADV ADVREQDATA
68
ADVREQDATA
ADV
ADV
ADV
ADV
ADV
REQ
REQ
REQ
REQ
DATA
DATA
DATA
DATA
The SPIN protocol
Data Centric Routing (cont.)
� Directed Diffusion
� Repeated interactions
A simplified schematic for directed diffusion
69
4.7.2 Data-centric Storage
� Data centric storage
� Data is stored inside the network.
� All data with the same name (or data range) will be stored at the same
sensor network location
� E.g. an elephant sighting.
� Why data centric storage?� Why data centric storage?
� Energy efficiency
� Robustness against mobility and node failures
� Scalability
70
4.7.2
Data-centric storageData-centric storageOne-dimensional data storage
71
One-dimensional Data Storage
� Data-Centric Storage in Sensornets with GHT, a Geographic
Hash Table(GHT [Ratnasamy et al. 2003])
� Data Storage and Retrieval
� Perimeter Refresh Protocol
� Structured Replication
72
Data Storage and Retrieval
� GHT
� Put(k,v)-stores v (observed data)
according to the key k
� Get(k)-retrieve whatever value is
associated with key k
� Hash function
Hash the key in to the
(12,24)data
� Hash the key in to the
geographic coordinates
� Put() and Get() operations on the
same key “k” hash k to the same
location
user
queryresponse
Hash (‘elephant’)=(12,24)
Put (“elephant”, data) Get (“elephant”)
Hash (‘elephant’)=(12,24)
An example for GHT
73
Perimeter Refresh Protocol
� Assume key k hashes at
location L
� A is closest to L so it
becomes the home node
E
D
Replica
Replica
F
B
D
A
C
L
home
74
Structured Replication
� Augment event name with
hierarchy depth
� Given root r and given
hierarchy depth d
� Compute 4d – 1 mirror images
of r
(100, 100)(0, 100)
of r
(0, 0) (100, 0)
root point
level 1 mirror points
level 2 mirror points
Example of structured replication
with a 2-level decomposition
75
Conclusions
� Data centric storage entails naming of data and storing data at
nodes within the sensor network
� GHT uses Perimeter Refresh Protocol and structured
replication to enhance robustness and scalability
� DCS is useful in large sensor networks and there are many
detected events but not all event types are Queried detected events but not all event types are Queried
76
4.7.2
Data-centric storageData-centric storageMulti-dimensional data storage
77
Multi-dimensional Data Storage
� Multi-Dimensional Range Queries in Sensor Networks (DIM
[Li et al. 2003])
� Building Zones
� Data Insertion
� Query Propagation
78
Building Zones
� Divide network into zones.
� Each node mapped to one
zone.
� Encode zones based on
division.
� Each zone has a unique 6
5
1110
1111
43
21
1100111
0110
010
L∈∈∈∈[1/2, 1)L∈∈∈∈[0, 1/2)
T∈∈ ∈∈
[1/2
, 1
)
T∈∈ ∈∈
[3/4
, 1)
T∈∈ ∈∈
[1/2
, 3/4
)
code.
� Map m-d space to zones.
� Zones organized into a
virtual binary tree.
78
10
90001
0000 001 10
T∈∈ ∈∈
[0, 1
/2)
L∈∈∈∈[0, 1/4) L∈∈∈∈[1/4, 1/2) L∈∈∈∈[1/2, 3/4) L∈∈∈∈[3/4, 1)
T∈∈ ∈∈
[1/4
, 1/2
)T
∈∈ ∈∈[0
, 1/4
)
L: Light, T: Temperature
79
Data Insertion
� Encode events
� Compute geographic
destination
� Hand to GPSR
� Intermediate
nodes can refine
1110
1111
L∈∈∈∈[1/2, 1)
1
110
L∈∈∈∈[0, 1/2)
0111
0110
010
T∈∈ ∈∈
[1/2
, 1
)
T∈∈ ∈∈
[3/4
, 1)
T∈∈ ∈∈
[1/2
, 3/4
)
2
34
5
6
E1= <0.8, 0.7>
nodes can refine
the destination
estimation
L∈∈∈∈[0, 1/4)
0001
0000 001 10
T∈∈ ∈∈
[0, 1
/2)
L∈∈∈∈[1/4, 1/2) L∈∈∈∈[1/2, 3/4) L∈∈∈∈[3/4, 1)
T∈∈ ∈∈
[1/4
, 1/2
)T
∈∈ ∈∈[0
, 1/4
)
987
10
Store E1
L: Light, T: Temperature
80
Query Propagation
� Split a large query into smaller subqueries.
� Encode each subquery.
� Process subqueries separately, resolving locally or
1110
1111
L∈∈∈∈[1/2, 1)
1
110
L∈∈∈∈[0, 1/2)
0111
0110
010
T∈∈ ∈∈
[1/2
, 1
)
T∈∈ ∈∈
[3/4
, 1)
T∈∈ ∈∈
[1/2
, 3/4
)
2
34
5
6Q = <.75-1, .5-.75>
Q12= <.75-1, .75-1>Q11= <.5-.75, . 5-1>
locally or forwarding to other nodes based on their codes.
L∈∈∈∈[0, 1/4)
0001
0000 001 10
T∈∈ ∈∈
[0, 1
/2)
L∈∈∈∈[1/4, 1/2) L∈∈∈∈[1/2, 3/4) L∈∈∈∈[3/4, 1)
T∈∈ ∈∈
[1/4
, 1/2
)T
∈∈ ∈∈[0
, 1/4
)
987
10
Q10= <.75-1, .5-.75>
Q1= <0.5-1, 0.5-1>
L: Light, T: Temperature
81
Conclusions
� DIM resolves multi-dimensional range queries efficiently.
� Work that still needs to be done
� Skewed data distribution
� These can cause storage and transmission hotspots.
� Existential queries
� Whether there exists an event matching a multi-dimensional range.
� Node heterogeneity� Node heterogeneity
� Nodes with larger storage space assert larger-sized zones for themselves.
82
4.7.2
Data-centric storageData-centric storageHierarchical data storage
83
Hierarchical Data Storage
� Load balance and Efficient Hierarchical Data-Centric Storage
in Sensor Networks (HVGR [Zhao et al. 2008])
� Constructing the hierarchical architecture
� Storage load balancing
� Data Storage and retrieval
84
Constructing Hierarchical Architecture
� Assumptions
� Large
� Static
� density
•Each node knows the shortest root
•Each node knows the shortest
path to their first level landmark
85
Constructing Hierarchical Architecture (cont.)
� Assumptions
� Large
� Static
� density
•Each node knows the shortest
L2
L3
root
• Nodes know the shortest
path to their second level landmark
•Termination: the subregion only
contains the owner landmark and
the landmark’s one-hop neighbors.
•Each node knows the shortest
path to their first level landmark
L1
L4
L5
L4.1
L4.2
L4.3
86
Storage Load Balancing
N2N3
L2:[0.1,0.3)L3:[0.3,0.6)
N: the total number node in WSN
Ni: the number node in Ni’s subregion
N=50
0.1
0.2 0.3
N1
N4
N5
L1: [0,0.1)
L4:[0.6,0.8)L5:[0.8,1)
L4.1:[0.6,0.67)
L4.2:[0.67,0.73) L4.3:[0.73,0.8)
Node A table:
L1st:{L1:(0,0.1],L2 :(0.1,0.3],L3:(0.3,0.6],
L4:(0.6,0.8],L2 :(0.8,1]}
L2nd:{L4.1:(0.6,0.67], L4.2:(0.67,0.73],
L4.3:(0.73,0.8]}
L3rd:{L4.2.1: (0.67,0.73],
L4.2.2: (0.70,0.73]}
A
0.1
0.2
0.2
87
Data Storage and Retrieval
L1st:{L4 :(0.6,0.8],…}
Source(0.68)
Query (0.68)
L2 L3
Query (0.68)
L1st:{L4:(0.6,0.8],…}
L2nd:{L4.2:(0.67,0.73],…}
L1
L4L5
L4.1
L4.2L4.3
A
DL4.2.1
L4.2.2
L1st:{L4 :(0.6,0.8],…}
L2nd:{L4.2:(0.67,0.73],…}
L3rd:{L4.2.1: (0.67,0.73],L4.2.2: (0.70,0.73]}
88
Conclusions
� HVGR is very scalable, as the initialization overhead and
routing table size of each node is O(logN).
� HVGR design a simple hash mechanism so that HVGR can
provide a well load balanced data-centric storage system.
89
References
� S. Ratnasamy, B. Karp, S. Shenker, D. Estrin, R. Govindan, L. Yin, and F. Yu, “Data-Centric Storage in Sensornets with GHT, A Geographic Hash Table,” in Journal of Mobile Network Applications, vol. 8, no. 4, pp. 427-442, 2003.
� X. Li, Y. J. Kim, R. Govidan, and W. Hong, "Multi-Dimensional Range Queries in Sensor Networks," in Proceedings of the 1st International Conference on Embedded Networked Sensor Systems (SenSys'03), Los Embedded Networked Sensor Systems (SenSys'03), Los Angeles, CA, USA, pp.63-75, Nov. 2003.
� Y. Zhao, Y. Chen, and S. Ratnasamy, "Load Balanced and Efficient Hierarchical Data-Centric Storage in Sensor Networks," in Proceedings of the 5th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks, San Francisco, California, USA, pp.560-568, June 2008.
90
Chapter 4.8
ZigBeeZigBee
91
Outline
� 4.8 The ZigBee Standard
� 4.8.1 Zigbee frame format
� 4.8.2 The Network Layer
� 4.8.3 The Application Layer
92
Outline
� 4.8 The ZigBee Standard
� 4.8.1 Zigbee frame format
� 4.8.2 The Network Layer
� 4.8.2.1 Network Formation and Address Assignment
� 4.8.2.2 ZigBee Routing protocol
� 4.8.2.3 Route Discovery
� 4.8.3 The Application Layer� 4.8.3 The Application Layer
93
The ZigBee Standard
� ZigBee is a low cost, low power, low complexity, and low data rate wireless
communication technology at short range. Based on IEEE 802.15.4, it is
mainly used as a low data rate monitoring and controlling sensor network
Applications
802.15.4
Zigbee
Specification
Application Framework
Network & Security
Medium Access Control (MAC) Layer
Physical (PHY) Layer
Application
Zigbee stack
Hardware
94
Zigbee Frame Format
� General frame format
Octets: 2 2 2 1 1 Variable
Frame Control Destination Source Radius Sequence Frame Frame Control Destination Source
Address
Radius Sequence
Number
Frame
Payload
Routing Fields
NWK Header NWK
Payload
95
Zigbee Frame Format (cont.)
� General frame format
Frame control field
Frame type setting
96
Zigbee Frame Format (cont.)
� Command frame format
Octets: 2 1 Variable
Frame control Routing fields NWK command
identifier
NWK command
payload
NWK header NWK payload
Command frame format
NWK header NWK payload
Frame type
97
Zigbee Frame Format (cont.)
� RREQ command
RREQ command
payload format
Command options field
98
Zigbee Frame Format (cont.)
� RREP command
RREP command
payload format
99
Outline
� 4.8 The ZigBee Standard
� 4.8.1 Zigbee frame format
� 4.8.2 The Network Layer
� 4.8.2.1 Network Formation and Address Assignment
� 4.8.2.2 ZigBee Routing protocol
� 4.8.2.3 Route Discovery
� 4.8.3 The Application Layer� 4.8.3 The Application Layer
100
The Network Layer
� ZigBee identifies three device types
� The ZigBee coordinator (one in the network) is an FFD managing the
whole network
� A ZigBee router is an FFD with routing capabilities
� A ZigBee end-device corresponds to a RFD or FFD acting as a simple
device
� The ZigBee network layer supports three types of network
configurations:
� Star topology
� Tree topology
� Mesh topology
101
The Network Layer (cont.)
ZigBee coordinator ZigBee router ZigBee end device
(a) Star network (b) Tree network (c) Mesh network
102
Outline
� 4.8 The ZigBee Standard
� 4.8.1 Zigbee frame format
� 4.8.2 The Network Layer
� 4.8.2.1 Network Formation and Address Assignment
� 4.8.2.2 ZigBee Routing protocol
� 4.8.2.3 Route Discovery
� 4.8.3 The Application Layer� 4.8.3 The Application Layer
103
Network Formation and Address Assignment
� Before forming a network, the coordinator determines
� Maximum number of children of a router (Cm)
� Maximum number of child routers of a router (Rm)
� Depth of the network (Lm)
� Note that a child of a router can be a router or an end device, so � Note that a child of a router can be a router or an end device, so
Cm ≥ Rm
� The coordinator and routers can each have at most Rm child
routers and at least Cm − Rm child end devices
104
Network Formation and Address Assignment
(cont.)
� For the coordinator, the whole address space is logically
partitioned into Rm + 1 blocks
� The first Rm blocks are to be assigned to the coordinator’s
child routers and the last block is reserved for the coordinator’s
own child end devices
� From Cm, Rm, and Lm, each router computes a parameter � From Cm, Rm, and Lm, each router computes a parameter
called Cskip to derive the starting addresses of its children’s
address pools
( )( )
1
1 1 ,if 1
1Otherwise,
1
Lm d
Cm Lm dRm
Cskip d Cm Rm Cm Rm
Rm
− −
+ × − −=
= + − − ×
−
105
Network Formation and Address Assignment
(cont.)
� The coordinator is said to be at depth d = 0, and d is increased
by one after each level
� Address assignment begins from the ZigBee coordinator by
assigning address 0 to itself
� If a parent node at depth d has an address Aparent , the n-th child
router is assigned to address router is assigned to address
� Aparent + (n − 1) × Cskip(d) + 1
� n-th child end device is assigned to address
� Aparent + Rm × Cskip(d) + n
106
Network Formation and Address Assignment
(cont.)
Addr = 12
Addr = 8
Addr = 9
Addr = 10
Cm = 5
Rm = 4
Lm = 2
A2
Addr = 7
Cskip = 1
ZigBee coordinator ZigBee router ZigBee end device
B1
Addr = 25
Addr = 0
Cskip = 6
A4
Addr = 19
Cskip = 1
A3
Addr = 13
Cskip = 1
Addr = 24
A1
Addr = 1
Cskip = 1
Addr = 6
Addr = 3
Addr = 2
107
Outline
� 4.8 The ZigBee Standard
� 4.8.1 Zigbee frame format
� 4.8.2 The Network Layer
� 4.8.2.1 Network Formation and Address Assignment
� 4.8.2.2 ZigBee Routing protocol
� 4.8.2.3 Route Discovery
� 4.8.3 The Application Layer� 4.8.3 The Application Layer
108
ZigBee Routing protocol
� In a ZigBee network, the coordinator and routers can directly
transmit packets along the tree
� When a device receives a packet, it first checks if it is the
destination or one of its child end devices is the destination
� If so, this device will accept the packet or forward this packet
to the designated child. Otherwise, it forwards the packet to its
parent
109
ZigBee Routing protocol (cont.)
� Assume that the depth of this device is d and its address is A.
This packet is for one of its descendants if the destination
address Adest satisfies A < Adest < A+ Cskip(d − 1), and this
packet will be relayed to the child router with address
( )( )
11
destA AA A Cskip d
− += + + ×
� If the destination is not a descendant of this device, this packet
will be forwarded to its parent
( )
( )( )
11
dest
r
A AA A Cskip d
Cskip d
− += + + ×
110
ZigBee Routing protocol (cont.)
Cm = 6
Rm = 4
Lm = 3
Addr = 125
Addr = 30
Addr = 126
Addr = 92
Addr = 63
Cskip = 7
Addr = 64
Cskip = 1
Addr = 1
( )
( )( )
11
dest
r
A AA A Cskip d
Cskip d
− += + + ×
ZigBee coordinator ZigBee router ZigBee end device
Addr = 31
Addr = 38
Addr = 1
Cskip = 7
Addr = 32
Cskip = 7Addr = 33
Cskip = 1
Addr = 40
Cskip = 1
Z
? ?
( )( )1A A Cskip d
Cskip d= + + ×
BC
A < Adest < A+ Cskip(d − 1)
A
111
Outline
� 4.8 The ZigBee Standard
� 4.8.1 Zigbee frame format
� 4.8.2 The Network Layer
� 4.8.2.1 Network Formation and Address Assignment
� 4.8.2.2 ZigBee Routing protocol
� 4.8.2.3 Route Discovery
� 4.8.3 The Application Layer� 4.8.3 The Application Layer
112
Route Discovery
Field Name Description
Destination Address 16-bit network address of the destination
Next-hop Address 16-bit network address of next hop towards destination
Entry Status One of Active, Discovery or InactiveEntry Status One of Active, Discovery or Inactive
Routing Table in ZigBee
113
Route Discovery (cont.)
Field Name Description
RREQ ID
(route request)
Unique ID (sequence number) given to every RREQ
message being broadcasted
Source Address Network address of the initiator of the route request
Sender Address Network address of the device that sent the most recent
lowest cost RREQ
Forward Cost The accumulated path cost from the RREQ originator to
the current device
Residual Cost The accumulated path cost from the current device to the
RREQ destination
Route Discovery Table
114
Route Discovery (cont.)
RREQ message
Create RDT entry and
record fwd path cost
RDT entry
exists for this
RREQ ?
NoYes
Is
RREQ for local
node or one of
end-device
children ?
Create RT entry
(Discovery_Underway)
And rebroadcast RREQ
Update RDT entry with
better fwd path cost
Does
RREQ report
A better fwd
path cost ?
Send RREPDrop RREQ
Yes
No
Yes
No
The RREQ processing
115
Route Discovery (cont.)
A
C
BDiscard route
request
route reply
S
D
T
Unicast
Broadcast
Without routing capacity
116
Outline
� 4.8 The ZigBee Standard
� 4.8.1 Zigbee frame format
� 4.8.2 The Network Layer
� 4.8.2.1 Network Formation and Address Assignment
� 4.8.2.2 ZigBee Routing protocol
� 4.8.2.3 Route Discovery
� 4.8.3 The Application Layer� 4.8.3 The Application Layer
117
The Application Layer
� A ZigBee application consists of a set of Application Objects (APOs) spread over
several nodes in the network
� The ZigBee Device Object (ZDO) is a special object which offers services to the
APOs
� The Application Sub layer (APS) provides data transfer services for the APOs and
the ZDO
118
References
� P. Baronti, P. Pillai, V. Chook, S. Chessa, and F. Gotta, A. andFun Hu. Wireless
sensor networks: a survey on the state of the art and the 802.15.4 and zigbee
standards. Communication Research Centre, UK, May 2006.
� J. Bruck, J. Gao and A. A. Jiang, “MAP: Medial Axis Based Geometric Routing in
Sensor Network,” in Proceedings of ACM MobiCom, 2005.
� Q. Fang, J. Gao, L. Guibas, V. de Silva, and L. Zhang. GLIDER: Gradient landmark-
based distributed routing for sensor networks. In Proc. of the 24th Conference of the
IEEE Communication Society (INFOCOM’05), March 2005.IEEE Communication Society (INFOCOM’05), March 2005.
� B. Chen, K. Jamieson, H. Balakrishnan, and R. Morris. Span: An energy-efficient
coordination algorithm for topology maintenance in ad hoc wireless networks. In
International Conference on Mobile Computing and Networking (MobiCom 2001),
pages 85–96, Rome, Italy, July 2001.
� Y. Xu, J. Heidemann, and D. Estrin. Geography-informed energy conservation for ad
hoc routing. In Proceedings of the ACM/IEEE International Conference on Mobile
Computing and Networking, pages 70–84, Rome, Italy, July 2001.
119
Conclusions
� Routing in sensor networks is a new area of research, with a
limited but rapidly growing set of research results
� We highlight the design trade-offs between energy and
communication overhead savings in some of the routing
paradigm, as well as the advantages and disadvantages of each
routing technique
120
routing technique
� Overall, the routing techniques are classified based on the
network structure into four categories: flat, hierarchical, and
location-based routing, and QoS based routing protocols.
� Although many of these routing techniques look promising,
there are still many challenges that need to be solved in sensor
networks