Introduction to Wireless Sensor Networks - Research Problems (Clustering, Routing, etc)

advertisement
Introduction to Wireless Sensor
Networks
-Research Problems (Clustering, Routing, etc)
Energy-Efficient Communication Protocol
Architecture for Wireless Microsensor
Networks (LEACH Protocol)
[Heinzelman+ 2000, 2002]
–
LEACH (Low-Energy Adaptive Clustering Hierarchy) is a clustering-based
protocol that utilizes the randomized rotation of local cluster base stations
to evenly distribute the energy load within the network of sensors
–
It is a distributed, does not require any control information from base station
(BS) and the nodes do not need to have knowledge of global network for
LEACH to function
–
The energy saving of LEACH is achieved by combining compression with
data routing
–
Key features of LEACH include:

Localized coordination and control of cluster set-up and operation

Randomized rotation of the cluster base stations or clusterheads and their
clusters

Local compression of information to reduce global communication
LEACH
[Heinzelman+ 2000, 2002]
–
Considered microsensor network has the following characteristics:

The base station is fixed and located far from the sensors

All the sensor nodes are homogeneous and energy constrained
–
Communication between sensor nodes and the base station is expensive and no
high energy nodes exist to achieve communication
–
By using clusters to transmit data to the BS, only few nodes need to transmit for
larger distances to the BS while other nodes in each cluster use small transmit
distances
–
LEACH achieves superior performance compared to classical clustering algorithms
by using adaptive clustering and rotating clusterheads; assisting the total energy of
the system to be distributed among all the nodes
–
By performing load computation in each cluster, amount of data to be transmitted to
BS is reduced. Therefore, large reduction in the energy dissipation is achieved
since communication is more expensive than computation
LEACH
[Heinzelman+ 2000, 2002]
Algorithm Overview
–
The nodes are grouped into local clusters with one node acting as the local base
station (BS) or clusterhead (CH)
–
The CHs are rotated in random fashion among the various sensors
–
Local data fusion is achieved to compress the data being sent from clusters to the
BS; resulting the reduction in the energy dissipation and increase in the network
lifetime
–
Sensor elect themselves to be local BSs at any any given time with a certain
probability and these CHs broadcast their status to other sensor nodes
–
Each node decided which CH to join based on the minimum communication energy
–
Upon clusters formation, each CH creates a schedule for the nodes in its cluster
such that radio components of each non-clusterhead node need to be turned OFF
always except during the transmit time
–
The CH aggregates all the data received from the nodes in its cluster before
transmitting the compressed data to BS
LEACH
[Heinzelman+ 2000, 2002]
Algorithm Overview
–
The transmission between CH and BS requires high energy transmission
–
In order to evenly distribute energy usage among the sensor nodes, clusterheads
are self-elected at different time intervals
–
The nodes decides to become a CH depending on the amount of energy it has left
–
The decisions to become CH are made independently of the other nodes
–
The system can determine the optimal number of CHs prior to election procedure
based on parameters such as network topology and relative costs of computation
vs. communication (Optimal number of CHs considered is 5% of the nodes)
–
It has been observed that nodes die in a random fashion
–
No communication exists between CHs
–
Each node has same probability to become a CH
LEACH
[Heinzelman+ 2000, 2002]
Algorithm Details
–
The operation of LEACH is achieved by rounds
–
Each round begins with a set-up phase (clusters are selected) followed by steadystate phase (data transmission to BS occurs)
1.
Advertisement Phase:
–
Initially, each node need to decide to become a CH for the current round based
on the suggested percentage of CHs for the network (set prior to this phase)
and the number times the node has acted as a CH
–
The node (n) decides by choosing a random number between 0 and 1
–
If this random number is less than T(n), the nodes become a CH for this round
–
The threshold is set as follows:
P
T(n) =
1 – P * (rmod 1P )
0
If n C G
Otherwise
P = desired percentage of CHs
r = current round
G = set of nodes that have not
been CHs in the last 1/P rounds
LEACH
[Heinzelman+ 2000, 2002]
Algorithm Details
1. Advertisement Phase:
–
Assumptions are (i) each node starts with the same amount of energy and (ii)
each CHs consumes relatively same amount of energy for each node
–
Each node elected as CH broadcasts an advertisement message to the rest
–
During this “clusterhead-advertisement” phase, the non-clusterhead nodes
hear the ads of all CHs and decide which CH to join
–
A node joins to a CH in which it hears with its advertisement with the highest
signal strength
2. Cluster Set-Up Phase:
–
Each node informs its clusterhead that it will be member of the cluster
3. Schedule Creation:
–
Upon receiving all the join messages from its members, CH creates a TDMA
schedule about their allowed transmission time based on the total number of
members in the cluster
LEACH
[Heinzelman+ 2000, 2002]
Algorithm Details
4. Data Transmission:
–
Each node starts data transmission to their CH based on their TDMA schedule
–
The radio of each cluster member nodes can be turned OFF until their
allocated transmission time comes; minimizing the energy dissipation
–
The CH nodes must keep its receiver ON to receive all the data
–
Once all the data is received, the CH compresses the data to send it to BS
Multiple Clusters
–
In order to minimize the radio interference between nearby clusters, each CH
chooses randomly from a list of spreading CDMA codes and it informs its
cluster members to transmit using this code
–
The neighboring CHs radio signals will be filtered out to avoid corruption in the
transmission
An Energy Efficient Hierarchical Clustering Algorithm for
Wireless Sensor Networks
[Bandyopadhyay+, 2003]
–
Distributed, randomized clustering algorithm to organize the sensors in a
wireless sensor network into clusters to minimize the energy used to
communicate information from all nodes to the processing center
–
Hierarchy of clusterheads leads to the energy savings
–
In the clustered environment, the data gathered by the sensors is
communicated to the data processing center through a hierarchy of
clusterheads
–
The processing center determines the final estimates of the parameters
using information communicated by the clusterheads
–
The processing center can be a specialized device or one of the sensors
–
Sensor data communicated over smaller distances, the energy consumed
in the network will be much lower than the energy consumption when every
sensor communicates directly to the information processing center
An Energy Efficient Hierarchical Clustering Algorithm for
Wireless Sensor Networks
[Bandyopadhyay+, 2003]
A New, Energy-Efficient, Single-Level Clustering Algorithm
–
Each sensor becomes a clusterhead (CH) with probability p and advertises
itself as a clusterhead to the sensors within its radio range – these
clusterheads are called volunteer clusterheads
–
This advertisement is forwarded to all the sensors that are no more than k
hops away from the clusterhead
–
Any sensor node that is not clusterhead itself receiving such advertisement
joins the cluster of the closest clusterhead
–
Any sensor node that is neither a clusterhead nor has joined any cluster
itself becomes a clusterhead – called forced clusterheads
–
Since the advertisement forwarding has been limited to k hops, if a sensor
does not receive a CH advertisement within time duration t (where t is the
time required for data to reach the CH from any sensor k hops away), it
means that the sensor node is not within k hops of any volunteer CHs
An Energy Efficient Hierarchical Clustering Algorithm for
Wireless Sensor Networks
[Bandyopadhyay+, 2003]
A New, Energy-Efficient, Single-Level Clustering Algorithm
–
Therefore, the sensor node becomes a forced clusterhead
–
The CH can transmit the aggregated information to the processing center
after every t units of time since all the sensors within a cluster are at most k
hops away from the CH
–
The limit on the number of hops allows the CH to reschedule their
transmissions
–
This is a distributed algorithm and does not demand clock synchronization
between the sensors
–
The energy consumed for the information gathered by the sensors to reach
the processing center will depend on the parameters p and k
–
Since the objective of this work is to organize sensors in clusters to
minimize the energy consumption, values of the parameters (p and k) must
be found to ensure the goal
An Energy Efficient Hierarchical Clustering Algorithm for
Wireless Sensor Networks
[Bandyopadhyay+, 2003]
A New, Energy-Efficient, Single-Level Clustering Algorithm
Assumptions made for the optimal parameters are as follows:
–
The sensors are distributed as per a homogeneous spatial Poisson process
of intensity λ in 2-dimensional space
–
All sensors transmit at the same power level – have the same radio range r
–
Data exchanged between two communicating sensors not within each others’
radio range is forwarded by other sensors
–
A distance of d between any sensor and its CH is equivalent to
–
Each sensor uses 1 unit of energy to transmit or receive 1 unit of data
–
A routing infrastructure is in place; when a sensor communicates data to
another sensor, only the sensors on the routing path forward the data
–
The communication environment is contention- and error-free; sensors do not
have to retransmit any data
d / r hops
An Energy Efficient Hierarchical Clustering Algorithm for
Wireless Sensor Networks
[Bandyopadhyay+, 2003]
A New, Energy-Efficient, Hierarchical Clustering Algorithm
–
This algorithm is extension of the previous one by allowing more than one
level of clustering in place
–
Assume that there are h levels in the clustering hierarchy with level 1 being
the lowest level and level h being the highest
–
The sensors communicate the gathered data to level-1 clusterheads (CHs)
–
The level-1 CHs aggregate this data and communicate the aggregated data
to level-2 CHs and so on
–
Finally, level-h CHs communicate the aggregated data or estimates based on
this aggregated data to the processing center
An Energy Efficient Hierarchical Clustering Algorithm for
Wireless Sensor Networks
[Bandyopadhyay+, 2003]
A New, Energy-Efficient, Hierarchical Clustering Algorithm
–
The cost of communicating the information from the sensors to the
processing center is the energy consumed by the sensors to communicate
the information to level-1 CHs, plus the energy consumed by the level-1 CHs
to communicate the aggregated data to level-2 CHs, …., plus the energy
consumed by the level-h CHs to communicate the aggregated data to the
information processing center
Algorithm Details
–
The algorithm works in a bottom-up fashion
–
First, it elects the level-1 clusterheads, then level-2 clusterheads, and so on
An Energy Efficient Hierarchical Clustering Algorithm for
Wireless Sensor Networks
[Bandyopadhyay+, 2003]
A New, Energy-Efficient, Hierarchical Clustering Algorithm
Algorithm Details
–
Level-1 clusterheads are chosen as follows:
o
Each sensor decides to become a level-1 CH with certain probability p1
and advertises itself as a clusterhead to the sensors within its radio
range
o
This advertisement is forwarded to all the sensors within k1 hops of the
advertising CH
o
Each sensor receiving an advertisement joins the cluster of the closest
level-1 CH; the remaining sensors become forced level-1 CHs
–
Level-1 CHs then elect themselves as level-2 CHs with a certain probability
p2 and broadcast their decision of becoming a level-2 CH
–
This decision is forwarded to all the sensors within k2 hops
An Energy Efficient Hierarchical Clustering Algorithm for
Wireless Sensor Networks
[Bandyopadhyay+, 2003]
A New, Energy-Efficient, Hierarchical Clustering Algorithm
Algorithm Details
–
The level-1 CHs that receive the advertisement from level-2 CHs joins the
cluster of the closest level-2 CH; the remaining level-1 CHs become forced
level-2 CHs
–
Clusterheads at level 3, 4, 5,…,h are chosen in similar fashion with
probabilities p3, p4, p5,...,ph respectively to generate a hierarchy of CHs, in
which any level-i CH is also CH of level (i-1), (i-2),…,1.
Directed Diffusion
[Intanagonwiwat+ 2000]
–
Motivated by scaling, robustness and energy efficiency requirements
–
Directed diffusion is data-centric in that all communication is for named data
–
Data generated by sensor nodes is named using attribute-value pairs
–
All nodes in the network are application-aware
–
A node requests data by sending interests for named data
–
A sensing task is disseminated via sequence of local interactions throughout
the sensor network as an interest for named data
–
Nodes diffusing the interest sets up their own caches and gradients within the
network to which channel the delivery of data
–
During the data transmission, reinforcement and negative reinforcement are
used to converge to efficient distribution
–
Intermediate nodes fuse interests, aggregate, correlate or cache data
Directed Diffusion
[Intanagonwiwat+ 2000]
–
Assumes that sensor networks are task-specific – the task types are known at the
time the sensor network is deployed
–
An essential feature of directed diffusion is that interest, data propagation and
data aggregation are determined by local interactions
–
Focused on design of dissemination protocols for tasks and events
Naming
–
Task descriptions are named (specifies an interest for data matching the list of
attribute-value pairs) and also called as interest
–
Example task: “Every I ms, for the next T seconds, send me a location of any
four-legged animal in subregion R of the sensor field.”
task = four-legged animal
// detect animal location
interval = 20 ms
// send back events every 20 ms
duration = 10 seconds
// … for the next 10 seconds
rect = [-100, 100, 200, 400]
// from sensors within rectangle
Directed Diffusion
[Intanagonwiwat+ 2000]
Naming
–
A sensor detecting an animal may generate the following data:
task = four-legged animal
// type of animal seen
instance = horse
// instance of this type
location = [150, 200]
// node location
intensity = 0.5
// signal amplitude measure
confidence = 0.85
// confidence in the match
timestamp = 01:30:45
// event generation time
Interests and Gradients
–
Interest is generally given by the sink node
–
For each active task, sink periodically broadcasts an interest message to each of
its neighbors (including rect and duration attributes)
–
Sink periodically refreshes each interest by re-sending the same interest with
monotonically increasing timestamp attribute for reliability purposes
Directed Diffusion
[Intanagonwiwat+ 2000]
Interests and Gradients
–
Every node maintains an interest cache where each item in the cache
corresponds to a distinct interest (different type, interval attributes with disjoint
rect attributes)
–
Interest entries in the cache do not contain information about the sink
–
In some cases, definition of distinct interests allows interest aggregation
–
The interest entry contains several gradient fields, up to one per neighbor
–
When a node receives an interest, it determines if the interest exists in the cache
1.
2.
If no matching exist, the node creates an interest entry

This entry has single gradient towards the neighbor from which the
interest was received with specified data rate

Individual neighbors can be distinguished by locally unique identifiers
If the interest entry exists, but no gradient for the sender of interest

Node adds a gradient with the specified value

Updates the entry’s timestamp and duration fields
Directed Diffusion
[Intanagonwiwat+ 2000]
Interests and Gradients
3.
If there exists both entry and a gradient,

The node updates the entry’s timestamp and duration fields
–
When a gradient expires, it is removed from its interest entry
–
When all gradients for an interest entry have expired, the interest entry is
removed from the cache
–
After receiving an interest, a node may re-send the interest to subset of its
neighbors
–
To the neighbors, it may seem that interest originated from the sending node
even though it may have been generated a distant sink. This represents a local
interaction
–
This way, interest diffuse throughout the network and not each interest have been
sent to all the neighbors if a node sent matching interest recently
–
Gradient specifies data rate (value) and a direction in directed diffusion, whereas
the values can be used to probabilistically forward data in different paths in other
sensor networks
Directed Diffusion
[Intanagonwiwat+ 2000]
Data propagation
–
Data message is unicast individually to the relevant neighbors
–
A node receiving a data message from its neighbors checks to see if matching
interest entry in its cache exists according the matching rules described
1.
If no match exist, the data message is dropped
2.
If match exists, the node checks its data cache associated with the
matching interest entry

If a received data message has a matching data cache entry, the data
message is dropped

Otherwise, the received message is added to the data cache and the
data message is re-sent to the neighbors
–
Data cache keeps track of the recently seen data items, preventing loops
–
By checking the data cache, a node can determine the data rate of the received
events
Directed Diffusion
[Intanagonwiwat+ 2000]
Reinforcement
–
After the sink starts receiving low data rate events, it reinforces one neighbor in
order to “draw down” higher quality (higher data rate) events
–
This is achieved by data driven local rules
–
To enforce a neighbor, the sink may re-send the original interest with higher data
rate
–
When the data rate is higher than before, the node node must also reinforce at
least one neighbor
–
Reinforcement can be carried out from neighbors to other neighbors in a
particular path (i.e., when a path delivers an event faster than others, sink
attempts to use this path to draw down high quality data)
–
In summary, reinforce one path, or part of it, based on observed losses, delay
variances, and so on
–
Negative reinforce certain paths because resource levels are low
Directed Diffusion
[Intanagonwiwat+ 2000]
[Figure adapted from Intanagonwiwat+ 2000]
Stealth Routing
[Turgut+ 2009]
Intruder Tracking Sensor Network
 Sensor networks used to detect and track intruders in a geographic region
– “Interest area”
– Observations are disseminated to the sink by hop by hop transmission
 Performance metric: tracking error
– Difference between the model maintained by the sink and the real location of
intruders
 See demo here…
Stealth Routing
[Turgut+ 2009]
The problem of stealth
 The intruders belong to malicious and resourceful adversary
– If the adversary knows the locations of the nodes: it can avoid sensors, find and exploit blind
spots, introduce fake observations, capture or compromise nodes
 A node is:
– Stealthy: if the adversary doesn’t know its existence
– Disclosed: if the adversary can accurately locate the node
– Have various levels of stealth between these two extremes
 How can a node loose stealth:
– Accidentally
– Through wireless transmission in the presence of the intruder
– Routing / dissemination protocols did not previously consider the issue of stealth
– The issue of stealth has been at best marginally addressed in the field of sensor networks.
 Our objective:
– Develop a dissemination algorithm which optimizes stealth without sacrificing the other
performance parameters
Stealth Routing
[Turgut+ 2009]
Quantifying stealth
 Stealth level σ(t) as probability at time t that the node is not disclosed to the opponent
– Non disclosed node: σ(t) = 1
– Disclosed node: σ(t) = 0
– Stealth level decreases in response to transmission events.
– Probability of disclosure at transmission
Stealth Routing
[Turgut+ 2009]
Try and Bounce (TAB)
 A dissemination algorithm designed from the ground up to take into consideration stealth.
 It is based on the creation and forwarding of reports about intruder location
– All the transmissions are semantically meaningful to every node (there is no “blind”
transmission)
 The local nodes maintain a local model of their environments
– Updated through a series of inferences
 We will now investigate three aspect of TAB
– A. The maintenance of the local model
– B. The forwarding path
– C. The decision to make a transmission
Stealth Routing
[Turgut+ 2009]
A. Maintenance of the local model (1)
 TAB agent maintains a local model of environment represented by the triplet <N, I, R>
– N: set of node models lists the series of sensor nodes known to agent, whether within tx_range,
active/inactive, or under threat
– I: set of intruder models contains the list of the intruder nodes believed to be in the area of
sensor network, their last known position and potentially other observed properties
– R: set of report models contains the list of reports about intruder nodes to the sink
 For each report, model maintains the intruder node, its location, time when the observation was made, and
path record of the report
 The model also keeps track of whether the node is responsible for forwarding of the report or if it is
responsible in checking its forwarding
Stealth Routing
[Turgut+ 2009]
A. Maintenance of the local model (2)
 Series of inferences triggered every time an agent makes an observation, receives, transmits or
overhears a message
–
–
–
–
Inferences are also triggered by passage of time
Inferences has the complexity of O(1)
TAB agent never maintains any historical information
The number of reports do not exceed those of the active intruders
 Bookkeeping inferences
– Occlusion
– Obsoleting
 Inferences concerning intruder nodes
– Sighting
– Report received
– Inference from silence
Stealth Routing
[Turgut+ 2009]
A. Maintenance of the local model (3)
 Inferences concerning nodes
–
–
–
–
Heartbeat
Lack of retransmission
No heartbeat
Inference from path records
 Inferences concerning reports
–
–
–
–
–
Report from sighting
Report from received message
Report transmitted
Report progress overheard
Report progress timeout
Stealth Routing
[Turgut+ 2009]
A. Maintenance of the local model (4)
 Example inference: occlusion
– A newer report concerning the same intruder has been either:
 Observed
 Received from another node
 Overheard in the transmission between other two nodes
– The node discards the old report (the new report occluded it)
 Observations
– Occlusion works because the sink is not interested in history, only on the most recent
position of the intruder
– The node prefers to overhear a new report… because the overhearing does not
create a responsibility, while a received message does
Stealth Routing
[Turgut+ 2009]
B. Forwarding in TAB
 The unit of forwarding is a report
 At any step during forwarding, the report has someone responsible for it
 When forwarding to the next hop, the node passes the responsibility for the report
–
–
–
–
But it needs to check whether the next hop forwards or not
If the next hop does not forward, responsibility bounces back
The node needs to try another path to send messages to the sink
The path record in the message assures that the report does not retry failed paths
 Choosing the next hop
– Preference-ordered list of next hops to sink
– The first choice is identical to what you would have in DD or most other protocols
Stealth Routing
[Turgut+ 2009]
C. The decision to transmit a report
 Start by evaluating the stealth loss if it transmits
 How to make the decision to transmit?
– We want to minimize stealth loss, but we also want good accuracy
 Idea: cap the average stealth loss / intruder / node
– Calculate the running average of the stealth loss
– Transmit is the running average is below a threshold
Stealth Routing
[Turgut+ 2009]
Simulation Study
 Intruder tracking sensor network
–
–
–
–
–
–
Interest area: 400x400 meters
64 nodes
Sensing range = 50m
Transmission range = 50m
Experiment time = 2hr (7200 seconds)
10..80 intruders cross the area during the experiment
 Experiment repeated for 4 different protocol / parameterization
–
–
–
–
DD-10 directed diffusion, interval = 10 secs
DD-25 directed diffusion, interval = 25 secs
TAB-0.001 try and bounce, stealth loss cap = 0.001 stealth units per intruder per unit of time
TAB-0.003 try and bounce, stealth loss cap = 0.003
 Implemented all the protocols in the YAES simulator
Stealth Routing
[Turgut+ 2009]
Stealth Routing
[Turgut+ 2009]
Stealth Routing
[Turgut+ 2009]
Stealth Routing
[Turgut+ 2009]
Stealth Routing
[Turgut+ 2009]
Conclusions:
 Stealth is an important aspect of the operation of many sensor networks
 The challenge is to balance between multiple performance criteria
 Try and bounce (TAB): an early algorithm towards this direction
– We found that it outperforms DD on the stealth + tracking accuracy combination
Future work:
o
Other performance metrics (e.g. power conservation)
o
Improve the models and inferences
o
Extend the range of practical applicability
References
[Bandyopadhyay+ 2003] S. Bandyopadhyay and E.J. Coyle, An Energy Efficient Hierarchical
Clustering Algorithm for Wireless Sensor Networks, IEEE INFOCOM 2003, San Francisco, CA,
March 30 – April 3, 2003.
[Heinzelman+ 2002] W. Heinzelman, A.P. Chandrakasan and H. Balakrishnan, An ApplicationSpecific Protocol Architecture for Wireless Microsensor Networks, IEEE Transactions on
Wireless Communications, Vol. 1, No. 4, October 2002, pp. 660-670.
[Heinzelman+ 2000] W. Heinzelman, A.P. Chandrakasan and H. Balakrishnan, Energy-Efficient
Communication Protocol for Wireless Microsensor Networks, IEEE Proceedings of the Hawaii
International Conference on System Sciences, January 4-7, 2000, Maui, Hawaii.
[Intanagonwiwat + 2000] C. Intanagonwiwat, R. Govindan and D. Estrin, Directed Diffusion: A
Scalable and Robust Communication Paradigm for Sensor Networks, In Proceedings of the Sixth
Annual International Conference on Mobile Computing and Networks (MobiCOM 2000), August
2000, Boston, Massachusetts.
[Turgut+ 2009] D. Turgut, B. Turgut, and L. Bölöni, Stealthy dissemination in intruder tracking sensor
networks, Proceedings of IEEE LCN, October 2009, pp. 22-29.
Download