presenter: malik tubaishat department of computer science university of missouri - rolla next...
Post on 22-Dec-2015
215 views
TRANSCRIPT
Presenter: Malik TubaishatPresenter: Malik TubaishatDepartment of Computer ScienceDepartment of Computer Science
University of Missouri - RollaUniversity of Missouri - Rolla
Next Century Challenges: Scalable Coordination in Sensor Next Century Challenges: Scalable Coordination in Sensor NetworksNetworks
Deborah Estrin, Ramesh Govindan, John Heidemann and Satish Kumar
In Proceedings of the Fifth Annual International Conference on Mobile Computing and Networks (MobiCOM '99), August 1999, Seattle, Washington.
Directed Diffusion: A Scalable and Robust CommunicationDirected Diffusion: A Scalable and Robust CommunicationParadigm for Sensor NetworksParadigm for Sensor Networks
Chalermek Intanagonwiwat, Ramesh Govindan and Deborah Estrin
In Proceedings of the Sixth Annual International Conference on Mobile Computing and Networking (MobiCOM '00), August 2000, Boston, Massachusetts.
TopicsTopics
Information gathering and processing,
coordinate amongst themselves to achieve a
larger sensing task
Necessary for sensor network coordination
Communication model for describing localized algorithms
Sensor Networks
Localized algorithm
Directed Diffusion
3
Sensor Networks
Networks that are formed when a set of small Networks that are formed when a set of small
un-tethered sensor devices are deployed in un-tethered sensor devices are deployed in
an ad-hoc fashion cooperate on sensing a an ad-hoc fashion cooperate on sensing a
physical phenomenon. physical phenomenon.
4
Sensor Network Scenario:Sensor Network Scenario:
Sensors are used to analyze the motion of a tornadoSensors are used to analyze the motion of a tornado
Sensors are deployed in a forest for fire detectionSensors are deployed in a forest for fire detection
Sensors are attached to taxi cabs in a large Sensors are attached to taxi cabs in a large metropolitan area to study the traffic conditions and metropolitan area to study the traffic conditions and plan routes effectivelyplan routes effectively
5
Sensor Network CharacteristicsSensor Network Characteristics
SensorSensor
ObserverObserver
PhenomenonPhenomenon
6
SensorSensor
The device that implements the physical sensingThe device that implements the physical sensing
of environmental phenomena and reporting of of environmental phenomena and reporting of measurements (through wireless communication). measurements (through wireless communication). Typically, it consists of five components:Typically, it consists of five components:
1.1. sensing hardware, sensing hardware, 2.2. memory, memory, 3.3. battery, battery, 4.4. embedded processor, embedded processor,
5.5. trans-receiver. trans-receiver.
7
ObserverObserver
The end user interested in obtaining The end user interested in obtaining information disseminated by the sensor information disseminated by the sensor network about the phenomenon. network about the phenomenon.
The observer may indicate The observer may indicate interests interests (or (or queries) to the network and receive queries) to the network and receive responses to these queries.responses to these queries.
PhenomenonPhenomenon
The entity of interest to the observer that is being The entity of interest to the observer that is being
sensed and optionally analyzed/filtered by the sensed and optionally analyzed/filtered by the
sensor network. sensor network.
9
Network Dynamics ModelsNetwork Dynamics Models
A sensor network forms a path between the A sensor network forms a path between the phenomenon and the observerphenomenon and the observer
The goal of the sensor network protocol is to The goal of the sensor network protocol is to create and maintain this path (or multiple paths) create and maintain this path (or multiple paths) under dynamic conditions while meeting the under dynamic conditions while meeting the application requirements of low energy, low application requirements of low energy, low latency, high accuracy, and fault tolerance. latency, high accuracy, and fault tolerance.
10
Approaches to Construct and Maintain the path Approaches to Construct and Maintain the path between the observer and the phenomenon:between the observer and the phenomenon:
Static Sensor Networks Static Sensor Networks
Mobile Sensor NetworksMobile Sensor Networks
11
Static Sensor NetworksStatic Sensor Networks In static sensor networks, there is no motion In static sensor networks, there is no motion
among communicating sensors, the observer and among communicating sensors, the observer and the phenomenonthe phenomenon
An elected node relays a summary of the local An elected node relays a summary of the local observations to the observerobservations to the observer
Example:Example: A group of sensors spread for A group of sensors spread for temperature sensingtemperature sensing
Such algorithms extend the lifetime of the sensor Such algorithms extend the lifetime of the sensor network because they trade-off local network because they trade-off local computation for communication. computation for communication.
12
Mobile Sensor NetworksMobile Sensor Networks
In dynamic sensor networks, either the sensors In dynamic sensor networks, either the sensors themselves, the observer, or the phenomenon are themselves, the observer, or the phenomenon are mobilemobile
Whenever any of the sensors associated with the Whenever any of the sensors associated with the current path from the observer to the phenomenon current path from the observer to the phenomenon moves, the path may failmoves, the path may fail
Either the observer or the concerned sensor must take Either the observer or the concerned sensor must take the initiative to rebuild a new path.the initiative to rebuild a new path.
13
Building PathsBuilding Paths
During initial setup, the observer can build multiple During initial setup, the observer can build multiple paths between itself and the phenomenon and cache paths between itself and the phenomenon and cache them, choosing the one that is the most beneficial at that them, choosing the one that is the most beneficial at that time as the current pathtime as the current path
If the path fails, another of the cached paths can be usedIf the path fails, another of the cached paths can be used
If all the cached paths are invalid then the observer If all the cached paths are invalid then the observer must rebuild new paths. must rebuild new paths.
14
Motion of the ComponentsMotion of the Components
Mobile ObserverMobile Observer
Mobile Sensors Mobile Sensors
Mobile PhenomenaMobile Phenomena
15
Mobile ObserverMobile Observer
For example, a plane might fly over a field For example, a plane might fly over a field
periodically to collect information from a sensor periodically to collect information from a sensor
network. Thus the observer, in the plane, is network. Thus the observer, in the plane, is
moving relative to the sensors and phenomena on moving relative to the sensors and phenomena on
the ground.the ground.
16
Mobile SensorsMobile Sensors
For example, consider traffic monitoring For example, consider traffic monitoring implemented by attaching sensors to taxisimplemented by attaching sensors to taxis
As the taxis move, the attached sensors As the taxis move, the attached sensors continuously communicate with each other about continuously communicate with each other about their own observations of the traffic conditionstheir own observations of the traffic conditions
17
Mobile Sensors (Cont.)Mobile Sensors (Cont.)
The overhead of maintaining a globally unique The overhead of maintaining a globally unique sensor ID in a hierarchical fashion like an IP sensor ID in a hierarchical fashion like an IP address is expensive and not neededaddress is expensive and not needed
Instead, these sensors should communicate only Instead, these sensors should communicate only with their neighborswith their neighbors
In such networks, repairing a path can be used so In such networks, repairing a path can be used so that the information about the phenomenon is that the information about the phenomenon is always available to the observer regardless of the always available to the observer regardless of the mobility of the individual sensors.mobility of the individual sensors.
18
Mobile PhenomenaMobile Phenomena A typical example of this paradigm is sensors deployed for A typical example of this paradigm is sensors deployed for
animal detectionanimal detection
In this case the infrastructure level communication should In this case the infrastructure level communication should be event-drivenbe event-driven
Depending on the density of the phenomena, it will be Depending on the density of the phenomena, it will be inefficient if all the sensor nodes are active all the timeinefficient if all the sensor nodes are active all the time
Only the sensors in the vicinity of the mobile phenomenon Only the sensors in the vicinity of the mobile phenomenon need to be activeneed to be active
The number of active sensors in the vicinity of the The number of active sensors in the vicinity of the phenomenon can be determined by application specific phenomenon can be determined by application specific goals such as accuracy, latency, and energy efficiency.goals such as accuracy, latency, and energy efficiency.
19
ConcernConcern
The primary concern here is the ability of the The primary concern here is the ability of the sensor network to report the desired level of sensor network to report the desired level of accuracy under latency constraints within an accuracy under latency constraints within an acceptable deployment costacceptable deployment cost
The accuracy is a function of the sensing The accuracy is a function of the sensing technology of the sensors and their distance from technology of the sensors and their distance from the phenomenon. the phenomenon.
Distributed Sensor NetworksDistributed Sensor Networks
Next Century Challenges: Next Century Challenges:
Scalable Coordination in Sensor NetworksScalable Coordination in Sensor Networks
TopicsTopics
Information gathering and processing,
coordinate amongst themselves to achieve a
larger sensing task
Necessary for sensor network coordination
Communication model for describing localized algorithms
Sensor Networks
Localized algorithm
Directed Diffusion
22
ScenarioScenario Several thousand sensors are rapidly deployed (e.g., thrown Several thousand sensors are rapidly deployed (e.g., thrown
from an aircraft) in remote terrainfrom an aircraft) in remote terrain
1.1. The sensors communicate to establish a communication The sensors communicate to establish a communication networknetwork
2.2. Divide the task of mapping and monitoring the terrain Divide the task of mapping and monitoring the terrain amongst themselves in an energy efficient manneramongst themselves in an energy efficient manner
3.3. Adapt their overall sensing accuracy to the remaining Adapt their overall sensing accuracy to the remaining total resourcestotal resources
4.4. Re-organize upon sensor failure.Re-organize upon sensor failure.
23
Applications: Applications: Environmental AnalysisEnvironmental Analysis
24
Applications: Contaminant Flow Applications: Contaminant Flow MonitoringMonitoring
25
Applications: Traffic ControlApplications: Traffic Control
Sensor attached to every Sensor attached to every vehicle.vehicle.
Capable of detecting their Capable of detecting their location, vehicle sizes, location, vehicle sizes, speeds and densities; road speeds and densities; road conditions…conditions…
Alternate routes, estimate trip Alternate routes, estimate trip times…times…
26
Current NetworksCurrent Networks
InternetInternet Each PC on the Internet has a user who can Each PC on the Internet has a user who can
resolve or at least report all manner of minor resolve or at least report all manner of minor errors and problemserrors and problems
Automated FactoriesAutomated Factories May contain hundreds of largely unsupervised May contain hundreds of largely unsupervised
computerscomputers Deployed with very careful planning and react to Deployed with very careful planning and react to
very few external events very few external events
27
Differences with Current NetworksDifferences with Current Networks
Sensor Network
Sensors may be inaccessible
extremely difficult to pay special attention to any individual node
Ratio of communicating nodes to users is much greater
They operate and must respond to very dynamic environments
Deployed in a very ad hoc manner (possibly thrown down at random)
Must automatically adapt to changes in environment and requirements
Dynamic Changes
28
Localized AlgorithmsLocalized Algorithms
LocalizedLocalized algorithms – where sensors only interact with algorithms – where sensors only interact with
other sensors in a restricted vicinity, but nevertheless other sensors in a restricted vicinity, but nevertheless
collectively achieve a desired global objective. collectively achieve a desired global objective.
Objective:Objective:
Electing sensors that form
the longest-baseline for
triangulation for locating
external objects.
29
Data CentricData Centric
unlike traditional networks, a sensor node may not need an unlike traditional networks, a sensor node may not need an identity (e.g., an address)identity (e.g., an address)
What is the temperature at sensor #27? What is the temperature at sensor #27? (())
Where are nodes whose temperatures recently exceeded Where are nodes whose temperatures recently exceeded 30 degrees? 30 degrees? (())
Applications focus on the Applications focus on the datadata generated by sensors generated by sensors
This approach decouples data from the sensor that This approach decouples data from the sensor that produced itproduced it
This allows for more robust application design: even if This allows for more robust application design: even if sensor #27 dies, the data it generates can be cached in sensor #27 dies, the data it generates can be cached in other (possibly neighboring) sensors for later retrieval.other (possibly neighboring) sensors for later retrieval.
30
Localized Clustering AlgorithmLocalized Clustering Algorithm
cluster
Cluster-head
Clustering: efficient coordination
31
Overview:Overview: A A link levellink level procedure is run on each sensor that adjusts procedure is run on each sensor that adjusts
the transmission power and thus the communication the transmission power and thus the communication range to a minimum value that maintains full network range to a minimum value that maintains full network connectivityconnectivity
The clustering algorithm then elects The clustering algorithm then elects cluster-headcluster-head sensors such that each sensor in the multi-hop network sensors such that each sensor in the multi-hop network is associated with a cluster-head sensor as its parentis associated with a cluster-head sensor as its parent
Cluster-headsCluster-heads could could summarizesummarize the object located in the object located in their clusters to provide a less detailed view to distant their clusters to provide a less detailed view to distant nodes.nodes.
32
Assumption:Assumption: Associate sensors at a particular level with a radiusAssociate sensors at a particular level with a radius The radius specifies the number of physical hops that a The radius specifies the number of physical hops that a
sensor’s advertisement will travelsensor’s advertisement will travel Sensors at a higher level are associated with larger radii Sensors at a higher level are associated with larger radii
that those at lower levelsthat those at lower levels All sensors start off at the lowest level of 0All sensors start off at the lowest level of 0 Each sensor then sends out periodic advertisements to Each sensor then sends out periodic advertisements to
sensors within radius hopssensors within radius hops Advertisement = {Advertisement = { hierarchical level, hierarchical level,
parent ID, parent ID, remaining energyremaining energy }}
33
Localized Clustering AlgorithmLocalized Clustering Algorithm
L0
L0
L0
L0
L0
Advertisement
hierarchical level, parent ID, remaining energy
Wait time
In order to allow advertisements from various sensors to reach each other
34
Localized Clustering AlgorithmLocalized Clustering AlgorithmPromotion Timer
• Start promotion timer if no parent.
• Promotion timer: inversely proportional (remaining energy, number of other sensors from whom level 0 advertisements were received)
• If promotion timer expires GO
35
Localized Clustering AlgorithmLocalized Clustering AlgorithmPromotion Timer
• Start promotion timer if no parent.
• Promotion timer: inversely proportional (remaining energy, number of other sensors from whom level 0 advertisements were received)
• If promotion timer expires GO
L1
L0
L0
L0
L0
Cluster-head
New advertisement
36
Next:Next: Once a level 0 sensor picks a closest potential parent, it cancels its Once a level 0 sensor picks a closest potential parent, it cancels its
promotion time if running and drops out of the election processpromotion time if running and drops out of the election process
After promotion, the level 1 sensors start a wait time proportional After promotion, the level 1 sensors start a wait time proportional to their new larger radiusto their new larger radius
At the end of the wait period, the level 1 sensor may demote it self At the end of the wait period, the level 1 sensor may demote it self if it does not have any child sensor or if its energy level is less if it does not have any child sensor or if its energy level is less than a certain threshold function of its children’s energythan a certain threshold function of its children’s energy
Any change in network conditions, or in sensor energy level Any change in network conditions, or in sensor energy level results in re-clustering with bounded delayresults in re-clustering with bounded delay
37
Application of Clustering Algorithm
AimAim: To pinpoint in an energy-efficient manner, the : To pinpoint in an energy-efficient manner, the exact location of objects.exact location of objects.
AccuracyAccuracy: widest possible measurement baseline.: widest possible measurement baseline.
Energy efficiencyEnergy efficiency: fewest number of sensors : fewest number of sensors participating in the participating in the triangulationtriangulation. .
38
TriangulationTriangulation
•Determine position in space.
•Can specify approx direction of object relative to its own location.
39
Algorithm of Locating ObjectsAlgorithm of Locating Objects
There exists a simple rule whereby each cluster-head sensor There exists a simple rule whereby each cluster-head sensor locally determine (based on information from neighbor cluster-locally determine (based on information from neighbor cluster-heads alone) whether it should participate in the triangulation heads alone) whether it should participate in the triangulation computation:computation:
1- If all the neighboring cluster-heads of a cluster-head sensor lie 1- If all the neighboring cluster-heads of a cluster-head sensor lie on the same side of a line drawn between the sensor and the on the same side of a line drawn between the sensor and the object, then that cluster-head sensor elects itself as a object, then that cluster-head sensor elects itself as a participant in the computationparticipant in the computation
2- Once elected, these sensors report their readings to an 2- Once elected, these sensors report their readings to an external observerexternal observer
40
Base-line EstimationBase-line Estimation
41
Advantages of Cluster-based Advantages of Cluster-based ApproachApproach
Sensor algorithms only use local information.Sensor algorithms only use local information.– generally lower energy consumption in comparison generally lower energy consumption in comparison
to global communication.to global communication.
Robust to link or node failures and network Robust to link or node failures and network partitionspartitions– mechanisms for self-configuration can be simpler.mechanisms for self-configuration can be simpler.
42
Advantages of Cluster-based Advantages of Cluster-based ApproachApproach
Local communication and per-hop data filteringLocal communication and per-hop data filtering– avoid transmitting large amounts of data over long avoid transmitting large amounts of data over long
distances.distances.– preserving node energy resources.preserving node energy resources.
Node energy resources are better utilizedNode energy resources are better utilized– cluster-heads adapt to changing energy levels.cluster-heads adapt to changing energy levels.
43
Disadvantage of Cluster-based Disadvantage of Cluster-based ApproachApproach
Non-optimal under certain terrain conditions.Non-optimal under certain terrain conditions.
44
Several Sensors Electing Several Sensors Electing ThemselvesThemselves
ObstacleObstacle
Allow a cluster-head to switch on some number of child sensors in its cluster to do object location.
45
Adaptive Fidelity AlgorithmsAdaptive Fidelity Algorithms
AA
YY
ZZ
quality of the answer can be traded against battery lifetime, network bandwidth, or number of active sensors.
Some cluster-head sensors turn themselves off to conserve power.
Directed Diffusion: A Scalable and Directed Diffusion: A Scalable and Robust CommunicationRobust Communication
Paradigm for Sensor Networks Paradigm for Sensor Networks
Source: http://www.isi.edu/scadds
TopicsTopics
Information gathering and processing,
coordinate amongst themselves to achieve a
larger sensing task
Necessary for sensor network coordination
Communication model for describing localized algorithms
Sensor Networks
Localized algorithm
Directed Diffusion
48
Directed DiffusionDirected Diffusion
A communication paradigmA communication paradigm
A new data dissemination paradigmA new data dissemination paradigm
49
PropertiesProperties
Directed diffusion is data-centric in that all Directed diffusion is data-centric in that all communication is for named data (not nodes id).communication is for named data (not nodes id).
All nodes are application-awareAll nodes are application-awareThis enables diffusion to achieve energy savings by This enables diffusion to achieve energy savings by
selecting empirically good paths and by caching and selecting empirically good paths and by caching and processing data in-networkprocessing data in-network
Interactions are localizedInteractions are localized
Data can be aggregated or processed within the Data can be aggregated or processed within the networknetwork
Network empirically adopts to best distribution path.Network empirically adopts to best distribution path.
50
Sensor Network Examples:Sensor Network Examples:
How many pedestrians do you observe in How many pedestrians do you observe in the geographical region X?the geographical region X?
Tell me in what direction that vehicle in Tell me in what direction that vehicle in region Y is moving.region Y is moving.
51
Examples Cont’dExamples Cont’d
Sensors within the specified region start Sensors within the specified region start collecting informationcollecting information
Once individual nodes detect object movements, Once individual nodes detect object movements, they might collaborate with neighboring nodes to they might collaborate with neighboring nodes to disambiguate object location or movement disambiguate object location or movement directiondirection
One of these nodes might then report the result One of these nodes might then report the result back to the human operator.back to the human operator.
52
Basic ScenarioBasic Scenario A data consumer express interest in data with certain A data consumer express interest in data with certain
attributesattributes
The interest will be propagated towards producers using The interest will be propagated towards producers using only local interactionsonly local interactions
The interest propagation will leave traces or gradients in The interest propagation will leave traces or gradients in the network along the waythe network along the way
The producers will send data back to the consumers The producers will send data back to the consumers using the established gradientsusing the established gradients
Reinforcement will be used to reduce the number of data Reinforcement will be used to reduce the number of data delivery path for efficient distributiondelivery path for efficient distribution
53
ImplementationImplementation
Human operator’s query
Transformed into interest
Diffused into region X and Y
Receives interest
Activate sensors to collect information
Query: “Every I ms for the next T seconds, send me a location estimate of any four-legged animal in subregion R”
Descriptions: sensor’s location, intensity of the signal, degree of confidence in its estimation
54
Directed diffusionDirected diffusion Data is Data is namednamed using attribute-value pairs using attribute-value pairs
A sensing task is disseminated throughout the sensor network as an A sensing task is disseminated throughout the sensor network as an interestinterest for named data for named data
The dissemination sets up The dissemination sets up gradientsgradients within the network designed to within the network designed to “draw” events (i.e., data matching the interest)“draw” events (i.e., data matching the interest)
Events start flowing towards the originators of interests along Events start flowing towards the originators of interests along multiple pathsmultiple paths
The sensor network The sensor network reinforcereinforce one, or small number of these paths one, or small number of these paths
55
A simplified schematic for directed diffusionA simplified schematic for directed diffusion
interest gradient reinforcement
56
IssuesIssues
NamingNaming
Interests and GradientsInterests and Gradients
Data PropagationData Propagation
ReinforcementReinforcement
57
NamingNaming
In directed diffusion, task
descriptions are named by, for
example, a list of attribute-value
that describe a task.
58
The Animal Tracking TaskThe Animal Tracking Task
type = four-legged animal //detect animal locationtype = four-legged animal //detect animal location
interval = 20 msinterval = 20 ms // send back events every 20 ms // send back events every 20 ms
duration = 10 secondsduration = 10 seconds // … for the next 10 seconds // … for the next 10 seconds
Rect = [-100, 100, 200, 400]Rect = [-100, 100, 200, 400]
// from sensors within rectangle// from sensors within rectangle
The task description specifies an interest for data matching The task description specifies an interest for data matching the attribute.the attribute.
59
A Sensor that detects an animal might A Sensor that detects an animal might generate the following data:generate the following data:
type = four-legged animaltype = four-legged animal // type of animal seen// type of animal seen
instant = elephantinstant = elephant // instant of this type// instant of this type
location = [125, 220]location = [125, 220] // node location// node location
Intensity = 0.6Intensity = 0.6 // signal amplitude measure// signal amplitude measure
Confidence = 0.85Confidence = 0.85 // confidence in the match// confidence in the match
Timestamp = 01:20:40Timestamp = 01:20:40 // event generation time// event generation time
60
Interests and GradientsInterests and Gradients
An An interestinterest is usually injected into the network at is usually injected into the network at some (possibly arbitrary) node in the networksome (possibly arbitrary) node in the network
We use the term We use the term sinksink to denote this node to denote this node
The task state is purged from the node after the The task state is purged from the node after the time indicated by the duration attributetime indicated by the duration attribute
Interests
61
How How InterestsInterests are Diffused Through the are Diffused Through the Sensor Network?Sensor Network?
For each active task, the For each active task, the sinksink periodically periodically broadcastsbroadcasts an interest message to each of its an interest message to each of its neighborsneighbors
Interest is periodically Interest is periodically refreshedrefreshed by the sink by the sink
– The refresh rate is a protocol design parameter The refresh rate is a protocol design parameter that trades off overhead for increased that trades off overhead for increased robustness to lost interests.robustness to lost interests.
62
Interests - Cont’dInterests - Cont’d
The initial interest takes the following form:The initial interest takes the following form:
type = four-legged animaltype = four-legged animal
interval = 1sinterval = 1s
rect = [-100, 100, 200, 400]rect = [-100, 100, 200, 400]
Timestamp = 01:20:40Timestamp = 01:20:40 // hh:mm:ss// hh:mm:ss
expiresAt = 01:30:40expiresAt = 01:30:40
63
How interests are processed?How interests are processed?
Every node maintains an interest cacheEvery node maintains an interest cache
When a node receives an interest, it checks to see if When a node receives an interest, it checks to see if
the interest exists in the cachethe interest exists in the cache
If no matching entry exists, the node creates an If no matching entry exists, the node creates an
interest entryinterest entry
This entry has a single gradient towards the neighbor This entry has a single gradient towards the neighbor
from which the interest was received, with the from which the interest was received, with the
specified event data ratespecified event data rate
64
How interests are processed?How interests are processed?
When a gradient expires, it is removed from its When a gradient expires, it is removed from its
interest entryinterest entry
When all gradients for an interest entry have expired, When all gradients for an interest entry have expired,
the interest entry itself is removed from a cachethe interest entry itself is removed from a cache
All received interests are re-sent. A node may All received interests are re-sent. A node may
suppress a received interest if it recently re-sent a suppress a received interest if it recently re-sent a
matching interest.matching interest.
65
Interests and GradientsInterests and Gradients
Gradients
Every pair of neighboring nodes establishes a gradient towards each other
66
Gradients – Cont’dGradients – Cont’d When a node receives an interest from its neighbor, it When a node receives an interest from its neighbor, it
has no way of knowing whether that interest was in has no way of knowing whether that interest was in response to one it sent out earlier, or is an identical response to one it sent out earlier, or is an identical interest from another sink on the “other side” of that interest from another sink on the “other side” of that neighborneighbor
Such two-way gradients can cause a node to receive one Such two-way gradients can cause a node to receive one copy of low data rate events from each of its neighborscopy of low data rate events from each of its neighbors
This technique can enable fast recovery from field paths This technique can enable fast recovery from field paths or reinforcement of empirically better pathsor reinforcement of empirically better paths
A gradient specifies both a data rate and a direction in A gradient specifies both a data rate and a direction in which to send events.which to send events.
67
Data PropagationData Propagation
A sensor node that detects a target searches its A sensor node that detects a target searches its
interest cache for a matching interest entryinterest cache for a matching interest entry
A matching entry is one whose A matching entry is one whose rectrect encompasses encompasses
the sensor location and the the sensor location and the typetype of the entry of the entry
matches the detected target typematches the detected target type
68
Event DescriptionEvent Description
The source sends to each neighbor for whom it has a
gradient, an event description every second of the
form:
type = four-legged animal // type of animal seen
instance = elephant // instance of this type
location = [125, 220] // node location
intensity = 0.6 // single amplitude measure
confidence = 0.85 // confidence in the match
timestamp = 01:20:40 // local time when event was
generated
69
Data Propagation – Cont’dData Propagation – Cont’d
A node that receives a data message from its neighbor A node that receives a data message from its neighbor
attempts to find a matching interest entry in its cacheattempts to find a matching interest entry in its cache
If no matching exist, the data message is silently droppedIf no matching exist, the data message is silently dropped
Otherwise, the received message is added to the data Otherwise, the received message is added to the data
cache and the message is re-sent to the node’s neighborscache and the message is re-sent to the node’s neighbors
70
Data Propagation – Cont’dData Propagation – Cont’d
By examining its data cache, a node can determine the By examining its data cache, a node can determine the
data rate of received eventsdata rate of received events
To re-send a received data message, a node needs to To re-send a received data message, a node needs to
examine the matching interest entry’s gradient listexamine the matching interest entry’s gradient list
If all gradient have a data rate that is greater than or If all gradient have a data rate that is greater than or
equal to the rate of incoming events, the node may equal to the rate of incoming events, the node may
simply send the received data message to the appropriate simply send the received data message to the appropriate
neighborsneighbors
71
Reinforcement Reinforcement
The sink initially diffuses an interest for a low event-The sink initially diffuses an interest for a low event-rate notification (1 event per second)rate notification (1 event per second)
Once sources detect a matching target, they send low-Once sources detect a matching target, they send low-rate events, possibly long multiple paths, towards the rate events, possibly long multiple paths, towards the sinksink
After the sink starts receiving these low data rate events, After the sink starts receiving these low data rate events, it it reinforces reinforces one particular neighbor in order to “draw one particular neighbor in order to “draw down” higher quality (higher data rate) events.down” higher quality (higher data rate) events.
72
Reinforcement – ExampleReinforcement – Example
Reinforce any neighbor from which a node Reinforce any neighbor from which a node receives previously unseen eventreceives previously unseen event
To reinforce this neighbor, the sink re-sends the To reinforce this neighbor, the sink re-sends the original interest message but with a smaller original interest message but with a smaller interval (higher data rate)interval (higher data rate)
73
Example – cont’dExample – cont’d
Type = four-legged animalType = four-legged animal
Interval = 10msInterval = 10ms
Rect = [-100, 200, 200, 400]Rect = [-100, 200, 200, 400]
Timestamp = 01:22:35Timestamp = 01:22:35
expireAt = 01:30:40expireAt = 01:30:40
When the neighboring node receives this interest, it When the neighboring node receives this interest, it
will reinforce at least one neighbor.will reinforce at least one neighbor.
74
Reinforcement – cont’dReinforcement – cont’d
The local rule we described, then, selects an empirically low delay path
Whenever one path delivers an event faster than others, the sink attempt to use this path to draw down high quality data
75
Basic Directed DiffusionBasic Directed DiffusionSetting up gradients
Source
Sink
Interest = Interrogation
Gradient = Who is interestedSource:
http://www.isi.edu/scadds
Basic Directed DiffusionBasic Directed Diffusion
Source
Sink
Sending data and Reinforcing the best path
Low rate event Reinforcement = Increased interest
Source: http://www.isi.edu/scadds
Directed Diffusion and DynamicsDirected Diffusion and Dynamics
Recoveringfrom node failure
Source
Sink
Low rate event
High rate eventReinforcement
Source: http://www.isi.edu/scadds
Directed Diffusion and DynamicsDirected Diffusion and Dynamics
Source
Sink
Stable path
Low rate event
High rate event
Source: http://www.isi.edu/scadds
79
ConclusionConclusion We have described directed diffusion paradigm for We have described directed diffusion paradigm for
designing distributed sensing algorithmdesigning distributed sensing algorithm
Directed diffusion has the potential for significant Directed diffusion has the potential for significant energy efficiencyenergy efficiency
Directed diffusion are stable under the ranges of network Directed diffusion are stable under the ranges of network dynamicsdynamics
Directed diffusion has some novel featuresDirected diffusion has some novel features– Data-centric disseminationData-centric dissemination– Reinforcement-based adaptation to the empirically best pathReinforcement-based adaptation to the empirically best path– In-network data aggregation and cachingIn-network data aggregation and caching
80
ThanksThanks