Upload
felix-potter
View
219
Download
0
Embed Size (px)
Citation preview
1
EnviroTrack and JAM
Presented by Chien-Liang Fok
2
EnviroTrack
A entity-tracking middleware for sensor networks
Provides an single context label abstraction that is dynamically created and logically associated with an entity Abstracts details of inter-node communication Performs of group maintenance Programmer interacts with context label rather
than changing set of nodes
3
Context Label
A form of attribute-based naming Serves as an address to the entity Is distinguished by type (e.g., fire or car)
Contains aggregate state about the entity Hosts application-defined tracking objects
Active elements that perform context-specific computation or action
Abstracts a group of nodes that can sense the entity
4
Problem Definition
Maintain context labels such that Each entity has one context label Context label follows the entity
Group management, leader maintenance Approximate aggregate state is maintained
Freshness constraint, Le
Critical mass constraint, Ne
Simplify application development Language support for defining context labels, aggregate
state variables, and tracking objects Directory service
5
Programming Model
6
Context Label Specification
To declare a context label of type e, the following must be provided: sensee() – specifies a pattern in the environment
to watch for statee() – the state data to be maintained within
the context label EnviroTrack provides a library of statee() functions Accessible by all tracking objects
Which tracking objects to associate with the label
7
Group Maintenance
A group of sensors that detect the entity should produce a single context label for it
The algorithm must be lightweight and dynamic
All members of the group must satisfy sensee()
There is at most one majority leader within the group
8
Group Maintenance Algorithm
If a leader exists, the leader sends heartbeat containing e Propagates h hops beyond group boundary Tells member nodes leader is still present Notifies non-members of the existence of context
label e
9
G. M. Algorithm Cont.
When a member receives a heartbeat, it sets a timer. If timer expires before receiving another heartbeat, a leadership takeover protocol is triggered This is a backup to the standard leadership
handoff
10
G. M. Algorithm Cont.
When a non-member node receives a heartbeat, it sets a timer If the entity is sensed before expiration, the node
joins the group If the entity is sensed after timer expires, the node
creates a new group (and context label) and declares itself leader
11
Spurious Leaders
The group member algorithm may result in more than one leader
Solution: Each context label’s leader contains a weight,
initially zero Increment weight each time data is received from
the members Weight is inherited during leadership handoff Context label with greater weight wins
Unlikely for spurious leaders attain Ne
12
Approximate Aggregate State
The leader of the group maintains the approximate aggregate data state
Leader sends each member Le
The member periodically sends sensor data to leader with a period of Pe = Le – d d = network delay + processing time
The leader performs aggregation every Pe A valid flag is set if Ne is not met
13
Directory Service
Provides access to a particular type of context label
Use a hash function context label type physical location (x,y) Nodes within one hop of (x,y) are called directory
object Context labels periodically send their state
and location to directory object
14
Language
EnviroTrack provides a language for declaring context labels and aggregate data state
Example code:
15
Evaluation
Theoretical example scenario: A T-72 tank moves through a sensor field Sensors can detect tank 100m away Sensors arranged in grid 140m apart At max speed, tank moves one hop every 11.2
seconds (45km/h) Actual test setup:
1000:1 model of the above scenario 10s/hop (50km/h) and 15s/hop (33km/h)
16
Tracked tank trajectory
Nodes located at integer coordinates Actual path: y = 0.5 Nodes have no notion of proximity
17
Leadership Handover
18
Communication Performance
System handles message loss Message loss not due to link usage Protocol uses very little bandwidth
Scalable to greater tracking difficulty
19
Maximum Trackable Speed
Affected most by heartbeat period Best results when
Receive timer = 2.1 HB Time to take over leadership
Wait timer = 4.1*HB Time to create new group
20
Maximum Trackable Speed
21
Communication Radius & Sensing Radius Ratio
22
Conclusions
EnviroTrack is a middleware for tracking entities
Relieves applications from details of Group management Directory service Data aggregation
23
JAM
A protocol that allows applications to view a jammed region as an entity rather than a collection of broken links and congested nodes
Allows data to be rerouted around a jammed region and other evasive actions
24
General Algorithm
Nodes within the jammed area notify nodes outside of the jammed area that they are jammed
Border nodes just outside jammed area coordinate to form groups of jammed nodes
jammed area
25
Architecture
26
Jam Detection
A node considers itself jammed when the utility of its communication link falls below a certain threshold Based on local data (failed channel access,
protocol violations, low SNR) When a node considers itself jammed, it
periodically sends a JAMMED message Modify MAC to bypass carrier sense phase Hopefully an un-jammed neighbor receives it
27
Mapping protocol
Border nodes receive a JAMMED messages from its jammed neighbors and calculates normal direction vector to the jammed nodes These nodes are called mapping nodes
If it is not aware of a compatible group, it creates a new one with a random ID, waits a while, and broadcasts a BUILD message Two groups are compatible if the angular
difference between their direction vectors is below some threshold
28
Group Coalescing
If two groups are compatible, they are coalesced after a certain time
The group with the larger group ID dominates Jammed nodes in the subordinate group is
merged with the dominant group Dominant group’s BUILD message is augmented
with subordinate group ID
29
BUILD Message
Contains: ID of original sender Group ID Sequence number List of known jammed nodes List of subordinate group IDs
When received If a regular node, store data locally If a mapping node, update the list of known jammed nodes
and rebroadcast it
30
Eager Eavesdropping
JAM attempts to quickly diffuse knowledge of jammed region: Forward information diffusion: As a BUILD
message is relayed around mapping nodes, each node updates list of jammed nodes
Back Flooding: When a a BUILD message is rebroadcasts, the single hop upstream mapping node processes it Updates its list of jammed nodes Does not relay it
31
Edge Nodes
A mapping node that does not have a neighbor left or right of the direction vector
If a neighbor is not discovered within some time, it periodically sends a PROBE message to detect neighboring mapping node(s) or form bridge nodes
jammed area
edge node
32
Bridge Nodes
Does not actually receive any JAMMED messages
Connects two edge nodes Masks areas of low connectivity A node becomes a bridge node when it
detects a PROBE message from a group it knows about A bridge node’s coalescing timer is longer to
prevent spurious bridging nodes
33
Recovery
When a jammed node becomes un-jammed, it periodically sends an UNJAMMED message
When a mapping node receives it, it updates the list of jammed nodes and propagates an TEARDOWN message The opposite of a BUILD message
When all of a mapping node’s jammed neighbors are un-jammed, the mapping node becomes a regular node
34
Example
[1] [2]
[3] [4]
35
Example (Cont.)
[5] [6]
[7] [8]
36
Simulation Methodology
GloMoSim simulator 4000 x 4000 meter field 400 nodes placed at 200m interval grid Radio settings inbetween MICA2 and WaveLAN MACA & IEEE802.11 MAC layer
Jammed area ranged from 5-144 nodes Connectivity
Low: 4 neighbors Moderate: 8 and 12 neighbors
37
Simulation Results
Varying jammer range
38
Simulation Results Cont.
Time to map region, 12 neighbor case 90% of mapping nodes know 1/3 of jammed region in
0.5-3 seconds
39
Simulation Results Cont.
Node failure rate
40
Conclusions
JAM provides a protocol for mapping a jammed region Loose group semantics and eager eavesdropping Quick convergence and tolerance to failures when
network is moderately connected