Beruflich Dokumente
Kultur Dokumente
in Sensor Networks
2.
Continuous
o
Observer-initiated
o
Event-driven
o
4.
Hybrid
o
Directed Diffusion
[Intanagonwiwat+ 2000]
Nodes diffusing the interest sets up their own caches and gradients within the
network to which channel the delivery of 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
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
interval = 20 ms
duration = 10 seconds
Directed Diffusion
[Intanagonwiwat+ 2000]
Naming
instance = horse
// node location
intensity = 0.5
confidence = 0.85
timestamp = 01:30:45
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
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.
This entry has single gradient towards the neighbor from which the
interest was received with specified data rate
If the interest entry exists, but no gradient for the sender of interest
Directed Diffusion
[Intanagonwiwat+ 2000]
Interests and Gradients
3.
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
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.
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
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
In summary, reinforce one path, or part of it, based on observed losses, delay
variances, and so on
Directed Diffusion
[Intanagonwiwat+ 2000]
Directed Diffusion
[Intanagonwiwat+ 2000]
Advantages:
Data-centric dissemination
Directed Diffusion
[Intanagonwiwat+ 2000]
Disadvantages:
It may consume memory since all the attribute list is being sent
Suggestions/Improvements/Future Work:
Nodes using SPIN protocols names their data using high-level data
descriptors, called meta-data and usage of meta-data negotiations
eliminate transmission of redundant data in the network
Monitor and adapt changes in their own energy resources: extend the
lifetime of the system
SPIN-PP
SPIN-EC
SPIN-BC
SPIN-RL
Meta Data
Used to uniquely and completely describe the data being collected by sensors
If two pieces of actual data are distinguishable, then their meta-data should also
be distinguishable
SPIN applications must define a meta-data format for representing data that
concerns with the costs of storing, retrieving and managing the meta-data
ADV and REQ messages contain only meta-data that is smaller than the DATA
message
By knowing the resources at hand, the nodes makes informed decisions about
using their resources effectively
SPIN specifies an interface that applications can use to find out their available
resources rather than specifying a specific energy management protocols
In conventional classic flooding, the source nodes sends data to all its neighbors
and the neighbors check their record of already sent data to see if they have
forwarded the data to their neighbors. If not, they forward the data and update
the record
This requires small amount of protocol state at any node, disseminates data
quickly in the network where neither the bandwidth is scarce and the links are
error prone
Implosion: A node always sends data to its neighbors without being concerned about
if the same data has been received by the neighbors from other nodes
Overlap: The nodes waste energy and bandwidth by sending the overlapping data
Resource Blindness: Nodes do not make decisions based on the energy available
Nodes poll their resources before transmitting or processing data by probing the
resource manager which keeps track of the resource consumption
Nodes can make efficient decisions based on the available energy level
The use of meta-data descriptors eliminates the possibility of overlap since the
nodes can name the part of the data the nodes are interested in receiving
Neighbors check to see if they already have received or requested this data
The sender responds to the REQ message sent by sending the actual DATA to
the neighbors requesting the data
If the neighbor already has the advertised data, it does not send any message
Simplicity is the main strength, meaning that nodes make simple decisions,
resulting in usage of small energy in computation
Each node only needs to know about its one hop neighbors
The node will only participate in the full protocol if it believes that it has enough
energy to complete the protocol without reaching below the threshold value
It does not prevent nodes from receiving messages such as ADV or REQ below
its low-energy threshold, but prevents the nodes to handle a DATA message
below the threshold
All SPIN-BC nodes send their messages to the broadcast address such that all nodes
within the transmission range of sender will receive message
Upon receiving ADV message, each node checks to see if they already have the data.
If not, node sets a random timer to expire, uniformly chosen from a predetermined
interval. After timer expires, the node sends an REQ message to the broadcast
address, including the original advertiser in the header of message. When the nodes
who are not original advertiser receive the REQ, they cancel their own request timers,
preventing from sending out redundant copies of the same REQ
The nodes will send out the requested data to the broadcast address only once to get
the data all its neighbors. It will not respond to multiple requests of the same data
Nodes limit the frequency with which they will resend the data, meaning
that it will wait for a set time before responding to any additional requests
for the same data
Suitable for mobile sensors since the nodes base their forwarding
decisions on local neighborhood information
Disadvantages:
Design protocols that make adaptive decisions based not only on the
cost of communicating data, but also the cost of synthesizing it
This work considers searches over semantically rich high-level events, and
presents the design, analysis, and numerical simulations of a spatially
distributed index that provides for efficient index construction and range
searches
The conventional approach to storing time series data is to have all sensing
node sending their data to a central repository external to the environment
While obtaining the flexibility of processing the data, sending every sensor
reading to external site incurs high energy consumption
One approach to retrieve this stored data is to flood a query to all nodes
that may have suitable data and have those nodes send their response to
the querying node
If some queries are originated within the sensor network, it is not advisable
to send the data to an external site instead of sending it to the internal
querying data
If more data is collected than required, this local storage approach increase
energy savings
There are two extensions to this approach for further energy savings:
1.
There are two extensions to this approach for further energy savings:
1.
2.
High-Level Events
The paper propose adding new data structures to store high-level data
abstractions to the simple attribute types introduced by Diffusion
Events defined by attributes with values that fall within a specified range are
less common, i.e., there may be many hot regions in a network, but few
with a heat gradient with a slope greater than s
For this reason, this paper develops a new method to support range
queries more efficiently and proposes mechanisms to run on top of GHT to
address range queries
Sensor value(s):
o
Sensor values can be search over a designed area and they are
represented as integers or floating point numbers
Timing parameters:
o
Essential to know not only a specific value for a region, but also
how this value varies over time, I.e., a hot region that has been hot
for some period of time
3.
Spatial dimensions:
o
Event Interrelationships:
o
The query results are found in the indices themselves, at the storage
nodes, and even at the nodes that generate time series data
all nodes may be used to store raw time series data and events
2.
To handle large queries, may be they can be split into smaller sub-queries,
encoding them to be identified later and process them separately, either locally
or forwarding to other nodes that have lesser traffic this will avoid energy
depletion of the really busy query access nodes
route to nodes in the highest tree level that will cover the entire query range,
rather than decomposing the query range into minimal covering set
The root of the tree creates a data dissemination schedule and propagates
this schedule throughout the tree
The schedule is divided into fixed-size time slots, each indicating the type of
data that are sent (or received), and whether it is for downstream (i.e., away
from the root) or upstream (i.e., toward the root) communication
The system uses the publish/subscribe model: each node has a specific
subscription profile that indicates which data types the node is interested in
receiving
TD-DES allows each node to selectively listen for interested data based on
the its position in the network topology
Since data must be scheduled before it is sent, the main tradeoff investigated
is increased power efficiency in exchange for sub-optimal message
dissemination latency
TD-DES monitors when each node of a network (1) receives data, (2)
transmits data, and (3) powers its radio down to a low-power standby mode
These radio modes Tx, Rx, and standby are cycled among as functions of
time determined by the networks dissemination schedule, generated by the
root node and propagated down the tree as part of a control event
The base station is considered to be the root node with higher computational,
storage, and transmission capabilities than the rest of the nodes and it can
serve as an entry point to the sensor network, integrating the sensor network
with the external wired network where the monitoring task GUI resides
Each node hearing this advertisement replies with a child message that
indicates that the node will become a child of the root
The process continues until all the nodes get attached to the tree
A node that hears multiple parent advertisements chooses its parent node
with the lowest hop count to the root
The data events are disseminated throughout the network based on per-node
event description rather than point-to-point messaging
Overlaying applications define predefined event types and these event types
are maintained in a global event schema
For instance, a network with n different event types may publish event types
e1, e2, e3,, en
Each node maintains its own event subscription which is the set of event
types that a node is interested in as well as its own effective subscription
which is the union of its own subscription and the subscriptions of all its
descendants
Each node subscribes to any event type of its own interest as well as any
event type of a descendent node is interested in since each node is
responsible for forwarding all relevant events to its descendants in the tree
topology
N3
N2
N1
[e1,e2,e3]
e2
[e1,e2]
(e1)
e2
[e1,e2] (e2)
N4
N5
[e1,e2,e3]
e2
[e2] (e2)
N6
[e1,e2,e3] (e3)
N7
[e3]
e2
(e1,e2,e3)
N8
[e1,e2,e3]
Figure 3 presents a dissemination tree of eight nodes and three event types
e1, e2, and e3 with N1 being the root node of the tree
The subscription of each node is given in parentheses at the upper left of the
node and the effective subscription is given at the upper right of each node in
square brackets
The arrows indicate the links across which the event is broadcast to
disseminate the event to all subscribing nodes
Note that the event is propagated both upstream (to the root and then
downstream to the interested parties in the other sub-tree) and downstream;
therefore, events do not always go through the root node
This event would be disseminated through the network to all those nodes,
(such as forest ranger stations, a centralized forest fire monitoring station, or a
sink node which could notify the police, local fire-fighting units, and public
news services) subscribing to fire_detected events
These nodes can also include any intermediate nodes which had to forward
such events to interested nodes, even if themselves may not be interested
Besides carrying unique type semantics, event types may be associated with
network-specific physical characteristics, such as minimum and maximum
event payload sizes, latency constraints, and relative event priorities
The overlaying applications specify such event latency and priority values
III. Protocols
Time slots are allocated for each event based on the determined or expected
bandwidth requirements needed to propagate all generated events reliably
throughout the network
Once the numbers of upstream and downstream time slots for each event
type are determined, the ordering of the time slots must then be determined
Iterations are intervals of schedule that starts with a control event slot and it is
also possible to interleave downstream and upstream slots together to fit into
a single iteration
The root node creates a schedule of time slots where each time slot is
designated as a send or receive slot, whether it is for upstream or
downstream communication, and by the event type which it should be used to
propagate
The schedule is created one iteration at a time and passes it down through
the dissemination tree inside a control event
Figure 4 presents the basic idea of creating a schedule and passing it down
the network tree using a scenario with downstream propagation of control and
data events
The control event is received by the node at level X in the first time slot
In the next time slot, this node transmits the control event down to the next
level, X+1.
In the following time slot, the node at level X+1 passes the control event down
to level X+2, and so on
The control event initiating an iteration specifies the schedule of events within
that iteration
The schedule has a sequence of atomic send and receive time slots, each
one for a specified event type
Generally, at a given node, for a particular event in a schedule, time slots are
allocated as a receive slot followed by an immediate send slot
The node, if both the schedule specifies a receive time slot for event e1 and if
the node subscribes to e1, will listen to the RF medium in Rx mode during this
time slot to receive such an event
For downstream communication, send and receive slots are used whereas
upstream slots are not designated for event types, as they are allocated if
any generated event may be able to make use of the next upstream slot
Since nodes must always listen to upstream receive slots, as all events must
be passed up to the root, regardless of event type, the unique upstream slots
for specific event types would not be meaningful
For each downstream send event, the simultaneous time slot at the next level
down is a receive time slot for the same type of event
Similarly, for upstream send events, the concurrent time slot at the next level
up is a corresponding receive time slot for the same type of event
The scheduler (root node) knows the exact events to be broadcast at the
beginning of each iteration and allocates the number of slots required
accordingly
A control packet can also contain timing information for the next control
packet, if iterations are not fixed length
When the root node starts transmitting events, each node leaves radio in Rx
mode for the duration of the slot when some interesting event will arrive
R and S denote the receive and send slots for the control events
Since allocation of slots for each event type is periodic which means the same
from one iteration to the next, no schedule broadcasting is needed except
when updating schedule
The drawback of speculative scheduling is that the nodes may have to stay in
Rx mode for scheduled slots regardless of whether or not event is coming
Event e1 is received during iteration k after its scheduled slot (indicated by the
dashed lines), therefore, e1 needs to be queued before it can be transmitted
during its slot in iteration k+1
The schedule decided by the root node is known to every node irregardless of
the algorithm used
A child nodes downstream schedule is one slot behind its parent nodes
downstream schedule, whereas a child nodes upstream schedule is one slot
ahead of the parent nodes upstream schedule
The schedule created by the root node can be extended at an internal node to
accommodate events generated at internal nodes
This extended schedule only affects the sub-tree rooted at this internal node
Determines how the root node decides on event ordering in the downstream
schedule
When iteration length and slot length become fixed, a deterministic schedule
becomes an ordering of events and it is determined according to one of (or
combination of) three criteria:
priority - the relative priority of an event type over other event types
Priorities can be specified by the application-layer for event types at the root
node and passed down the tree within the downstream control event
If the priorities are relatively fixed, they need to be included in the control event
in case of new event types are added or the priorities change
It is assumed that the event types that are most subscribed to are considered
most important by the system, so they are scheduled first in the upcoming
iteration(s)
Each node p maintains count(ei) indicating how many nodes in its sub-tree are
interested in this event of type ei
If latency constraints are specified by the application layer, TD-DES will use
the average- and worst-case latency dissemination estimates when
scheduling events
The number of hops from root for a node k subscribing to event type ei is
called the distance of ei at node k
The tree gathers data by having each internal node maintain partial values for
its own sub-tree and pass these values up to its parent node in its upstream
control event
Each node j passes its costj(ei) and max_costj(ei) values to the parent as
parameters of its upstream control event
For each child j of an internal node k, the parent node calculates its own
values recursively; the costk(ei) at k is calculated in terms of each child:
The maximum cost value is the maximum of the maxima of its children plus 1:
For each child j of an internal node k, the parent node calculates its own
values recursively; the costk(ei) at k is calculated in terms of each child:
The root node, r, defines, for each event type ei, the system-wide count and
distance values in the following way as: count(ei) = countr(ei),
distanceavg(ei) = avg costr(ei), and distancewst(ei) = max costr(ei)
Since all internal nodes are interested in knowing these three values, the root
node disseminates these values in a downstream control event as they
change
This stage determines the actual sequence of the time slots allocated for the
next iteration
The sequencer must derive a set of ordered slots for the next iteration from
these two schedules
Two choices: either place upstream and downstream slots separately side by
side (a.k.a. clustered) or interleave them
The authors did not try to reinvent the wheel by introducing a radically new
protocol proposed protocol, TD-DES, is intended as an application overlay
to the already established CSMA/CA wireless MAC layer
Disadvantages:
References
[Agrawal+ 2001] D.P. Agrawal and Arati Manjeshwar, Teen: a routing protocol for enhanced efficiency
in wireless sensor networks, In Proceedings of Tenth International Conference on Computer
Communications and Networks, 2001, pp. 304-309.
[Cetintemel+ 2003] U. Cetintemel, A. Flinders, and Y. Sun, Power-Efficient Data Dissemination in
Wireless Sensor Networks, In proceedings of the 3rd ACM International Workshop on Data
Engineering for Wireless and Mobile Access (MobiDE03), September 2003.
[Ganesan+ 2002] D. Ganesan, D. Estrin, and J. Heidemann, DIMENSIONS: Why do we need a new
Data Handling architecture for sensor networks?, Proceedings of First Workshop on Hot Topics in
Networks (HotNets-I), October, 2002.
[Greenstein+ 2003] B. Greenstein, D. Estrin, R. Govindan, S. Ratnasamy, and S. Shenker, DIFS: A
Distributed Index for Features in Sensor Networks, In the Proceedings of First IEEE International
Workshop on Sensor Network Protocols and Applications, May 2003.
[Heinzelman+ 2002] W. Heinzelman, A.P. Chandrakasan and H. Balakrishnan, An Application-Specific
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.
References
[Kim+ 2003] H. S. Kim, T. Abdelzaher, and W. H. Kwon, Minimum-Energy Asynchronous
Dissemination to Mobile Sinks in Wireless Sensor Networks, ACM SenSys, Los Angeles, CA,
November, 2003.