Title: Jigar Doshi
1In-Network processing
2What is TAG
- Tiny Aggregation for Sensor Networks
- Provides an SQL interface to query sensor
networks with aggregates like count, max, min etc - Sensitive to constraints of ad-hoc sensor
networks - Query inserted into network over an existing
routing protocol - Aggregation done along the reverse path
3TAG - Motivation
- An aggregation service for Berkeley Motes
- Sensor Networks will be used by practitioners in
variety of fields - Civil engineers to monitor buildings during
earthquakes - Biologists for habitat monitoring
- All applications depend on extracting info from
the network. - Thus it must be a core service and easy to use.
- TAG fills this void
4Requirements of the Routing Algorithm
- Deliver Query requests to all nodes
- Route from every node to root
- No Duplicates !
- Does it violate the end-to-end principle?
- A simple example proposed tree based routing
5Tree Based Routing
- One root
- Any interior node sets sender as parent and sets
its level to that of parent 1 - Rebroadcasts
- Message sent by node to its parent eventually
reaches root - Reselect parent after k silent epochs
Query
1
P0, L1
2
3
P1, L2
P1, L2
4
P2, L3
6
P3, L3
5
P4, L4
6Query Model
- One Table sensors
- SELECT AVG(volume), room FROM sensorsWHERE floor
6GROUP BY roomHAVING AVG(VOLUME) gt
thresholdEPOCH DURATION 30s - In generalSELECT agg(expr), attrs FROM
sensorsWHERE selPredsGROUP BY
attrsHAVINGhavingPredsEPOCH DURATION I - Difference between TAG SQL Continuous Output
7Aggregate Structure
- Standard SQL supports the basic 5
- MIN, MAX, SUM, AVERAGE, and COUNT
- TAG supports any function conforming to
- Merging function f. Merges two partial state
records - Initializer i Instantiates a state record for a
single sensor value - Evaluator e Computes the actual value of the
aggregate from a partial state record - Example - average
- fltS1, C1gt, ltS2, C2gt ? lt S1 S2 , C1 C2gt
- iv ? ltv,1gt
- eltS1, C1gt ? S1/C1
- TAG supports MEDIAN, HISTOGRAM and COUNT DISTINCT
also
8Classifying Aggregates
- Duplicate Sensitive (yes/no)
- Exemplary/Summary
- Monotonics f(a,b) e(s) gt MAX(e(s1),e(s2))
OR e(s) lt MIN(e(s1),e(s2)) - Decides whether predicate can be applied in
network - Partial State
- Distributive
- Algebraic
- Holistic
- Unique
- Content Sensitive
9Aggregate Taxonomy
10The TAG Algorithm
- 2 Phases
- Distribution Queries are pushed down the
network. - Parents broadcast queries to their children
- Collection Aggregate values continuously sent
from children to parents - Reply from all children required before
forwarding an aggregate value - TDMA like partitioning
- Children must deliver records during a
parent-specified time interval - Parent collects all values (including its own)
and sends the aggregate up the tree - Result a single aggregate value per epoch
- Question Contention ?
11Flow of partial State
- Parent reception interval must be chosen
carefully - All children must be able to report
- Cannot exceed end of epoch
- However we can always make the algorithm pipelined
12Illustration Pipelined Aggregation
Epoch 3
4
SELECT COUNT() FROM sensors
1
3
Sensor
2
1 2 3 4 5
1 1 1 1 1 1
2 3 1 2 2 1
3 4 1 3 2 1
Epoch
1
13Illustration Pipelined Aggregation
SELECT COUNT() FROM sensors
Epoch 4
5
1
3
Sensor
1 2 3 4 5
1 1 1 1 1 1
2 3 1 2 2 1
3 4 1 3 2 1
4 5 1 3 2 1
2
Epoch
1
14Illustration Pipelined Aggregation
SELECT COUNT() FROM sensors
Epoch 5
5
1
3
Sensor
1 2 3 4 5
1 1 1 1 1 1
2 3 1 2 2 1
3 4 1 3 2 1
4 5 1 3 2 1
5 5 1 3 2 1
2
Epoch
1
15Grouping
- Simple aggregation mechanism
- Complicated by HAVING clause
- Group eviction to solve storage problem
- Evicted tenant sent to parent
16Simulation Environment
- Java-based simulation visualization for
validating algorithms, collecting data. - Coarse grained event based simulation
- Sensors arranged on a grid, radio connectivity by
Euclidian distance - Communication model
- Lossless All neighbors hear all messages
- Symmetric links
- No collisions, hidden terminals, etc.
- Realistic
- Number of hops related to distance but not
proportional
17Simulation Screenshot
18Simulation Results
- 2500 nodes, d50
- TAG outperforms centralized approach by an order
of magnitude in most cases - Does equally well in the worst case
- Actual benefit depends on the topology
19Experiment Basic TAG
- Dense Packing, Ideal Communication
20Experiment Hypothesis Testing
- Uniform Value Distribution, Dense Packing, Ideal
Communication
21TAG Loss Tolerance
- Maintain List of the link signal quality to the
neighbors and if better shift parent - If no hello for a ?. Assume that the parent has
moved away. Pick a new parent - You can pick a node below you in the tree so
child may have to reselect their parent
22Experiment Effects of Loss
23Experimental Results
- 16 nodes, depth 4 tree, COUNT aggregate of
messages - Centralized 4685
- TAG 2330
- Quality of aggregate is better with TAG
- Centralized case high loss due to contention
24Experiment Benefit of Cache
25Summary
- TAG is based on a declarative interface
- Uses aggregation extensively
- Makes network tasking easier for the end user
- TAG outperforms centralized approaches in most
cases - Aggregation again
- Relies heavily on the underlying routing layer
- Placement of query tree is constrained by the
characteristics of routing tree
26Critique
- Fault Tolerance too simplistic
- How high is the failed node on the tree
- Mobility
- Multiple Queries ?
- Query Optimization
- Cougar
- Congestion
- Generic ?
27 28Time Indexing in Sensor Networks
- Rong Zheng, GuangHui He, Indy Gupta, Jennifer C
Hou, Lui Sha - UIUC
29What is Time Indexing
- Sensor networks collect periodic data
- Therefore lot of the queries of the data are
temporal - What is the average temperature last saturday
- Time Indexing refers to storage of Data based on
the time attribute - Data is stored on a cluster head depending on the
time it has occurred - Allows easy retrieval of temporal information
30Storage of Information in a sensor network
- Can store data either
- Externally i.e Centralized or along perimeter
- Locally at the sensor node
- In-Network i.e intermediate super nodes
- Many queries temporal in nature thus info can be
time indexed - To provide time indexing rendezvous points are
proposed
31The Problem
- Time Indexed Storage maps and stores time indexed
data x(v,t)v e V, t e (m?t, m1?t)to a
subset of nodes in the network . A time-indexed
query retrieves the individual or aggregated
sensor reading during the same time - Time Indexing Problem is concerned with efficient
storage and retrieval of info based on the time
attribute.
32Requirements of the Solution
- Distributed time indexed storage
- Retrieve info based on time attribute
- So what are the requirements of any solution
applicable to sensor nets? - Low protocol Overhead
- Low Communication query overhead
- Energy balancing
- Solution Use Dominating Sets !
33Dominating Sets
- For a graph G and a subset S of the vertex set
V(G), denote by Ng(s) the set of vertices in G
which are in S or adjacent to a vertex in S. If
Ng(s) V(G), then S is said to be a dominating
set (of vertices in G). - Applied to a lot of problems like adhoc routing.
There we need one such set. Here we need multiple
sets - Can be one hop or k hop. Only one hop used here
but can be extended to k-hop. - But finding the dominating set here is not very
straight forward
34(No Transcript)
35Selecting the Nodes - Overview
- Each node has a schedule vector where 1 indicates
that it is a leader for that cycle - If node is a leader it uses more power. Therefore
goal is to minimize average power consumption of
the network - This can be rewritten as
36- However previous case not always optimal as the
selected nodes will run out of power - Thus We need load balancing, Therefore we
introduce a new function U(x) - The function U(x) determines behavior of
algorithm - Now problem can be defined as
37Choices For U(x)
- U(x) -x. Minimizes total number of 1
slotsProblem Dominating nodes run out of power - U(x) -(-log(x/T))? - max min allocation tries
to maximize time till first node runs out of
energy - U(x) log(1-x/T) Load balancing
38Localized Algorithm for RP election
- The problem is NP complete
- However if we restrict to integers problem can be
solved in polynomial time - Do a newton like method to reach solution
(Gradient descent too slow) - Algorithm is localized as constraints are
localized - Only p and y is exchanged at every step
- We derive a heuristic which is simpler later
39Performance
40The integer Programming version
41Information retrieval
- Three steps
- Inject Query
- RP to RP forwarding
- Accumulation at a point
- Overlay Construction
- Send messages with source ip and sequence number
and the broadcast it. Thus each nodes which
overlay stores what time. - To find data send an overlay message to the
person who has the data routed using the routing
table - Send data back once it reaches target O(V)
- Total query Messages
42Performance Evaluation
43Performance Evaluation
44Future Directions
- Weighted Utility Functions
- K Domination instead of 1 domination
- Variable query Interval
- Failure of Nodes? Fault Tolerance
- Node Movement?
- Messages have to be re-routed
- Fisheye Routing
45Localized Algorithms In Wireless Ad-Hoc Networks
Location Discovery And Sensor Exposure
- Seapahn Meguerdichian, Sasha Slijepcevic,Vahag
Karayan1, Miodrag Potkonjak - UCLA
46What are Localized Algorithm
- Generic technique for solving distributed
optimization problems in wireless networks - Take into account topology, available energy,
power, privacy requirements, etc. - Obtain only needed information and use it to
guide optimization - Take into account problem properties
47Localized Algorithm Components
- Data acquisition mechanisms
- Optimization mechanisms
- Search expansion rules
- Bounding conditions
- Termination rules
48Generic Localized algorithm
- Initiate Search
- Request info from neighbours
- Loop while !terminate
- Form Partial Solution
- Decide which nodes to contact.
- Decide Whom to terminate
- Contact Nodes
- End Loop
49Sensor Coverage
- Given
- Field A
- N sensors
- Initial and final points I and F
- How well can the field be observed
- Closest Sensor (minimum distance) only
- Multiple Sensors speed and path considered
- We have to find the Minimal Exposure Path PminE
in A, starting in I and ending in F - PminE is the path in A, along which the exposure
is the smallest among all paths from I to F.
50Sensor Exposure
Suppose S(s ,p) represents the non-negative
sensibility of sensor s to the point p. For
example
The Exposure for an object in the sensor field
during the interval t1,t2 along the path p(t)
is
51Localized Exposure Field Partitioning
- Voronoi Partitioning
- Advantages
- One sensor per Polygon
- Node can calculate its VP by knowing only its
immediate (Delaunay) neighbors - Smaller VPs in high node density areas
- Drawbacks
- One sensor potentially in charge of large area
- Paths likely to be close to border edges
- How to find Delaunay neighbors?
52Minimal Exposure Path Algorithm
- Use a grid to approximate path exposures.
- The exposure (weight) along each edge of the grid
approximated using numerical techniques. - Use Dijkstras Single-Source Shortest Path
Algorithm on the weighted graph (grid) to find
the Minimal Exposure Path.
53Exposure Profile
- Each polygon edge has a corresponding Exposure
Profile (EP) - Can use different data structures to store EPs.
- EPs initialized to infinity
- Continuously updated in algorithm by keeping
smaller values and discarding larger ones
54Updating EP
- Node s1 updates an EP e13
- s1 sends update message to neighbor node s3
- s3 computes new minimal exposure paths and
updates all its EPs. - s3 sends appropriate EP update messages to
corresponding neighbors
55Stopping the algorithm
- Algorithm stops when
- Each EP at the search boundary is larger than the
specified termination condition ? (parameter
indicating bound on exposure) - Specified by the algorithm at first
- Periodically set to exposure at destination point
during the optimization process (broadcast) - No more edge updates (EP)
- Guaranteed to converge since exposure is always
increasing.
56Localized Exposure Message Types
- Path_request Node si receives a request from an
agent to find PminE from I to D . - Edge_update Node si receives an update
notification from a neighbor to continue search
for PminE(I,D). - Abort_update Aborting conditions notification.
- Dest_update Destination reached notification
57Localized Exposure Caveat
- At times, minimal exposure paths may lie close to
polygon edges - Numerical errors and data structure limitations
can cause cycles to develop between neighboring
nodes - Each believes the other has better path to
destination - Possible Solution
- Accept improvement at each point in an EP update
message based on a threshold - Discard small improvements
- Prevents infinite loops and unnecessary update
messages - Solution will be slightly inaccurate
58Performance
59Performance
60Performance
61Localized Minimal Exposure Path
62Location Discovery Preliminaries
- Multi-lateration (assumed atomic)Node 0
estimates location based on info from 1,2,3 - Di approximate distance between estimated
location i and location x,y Ri0 represents RSSI
based distance
1
2
0
3
63Location Discovery
- Assumption
- All nodes know their neighbors
- All messages are received correctly
- Node gets information from other nodes and
updates its estimate accordingly by trilateration - Order specified by Algorithm
- Node can do this multiple times
- Objective Function used to prioritize inputs
- Nodes variance to the centre of mass measured and
those with smaller variances preferred - Nodes who have become references for others also
perferred
64Initiation
- Set bits gotFinal and Orphan
- Send to everybody
65Information Exchange
- Listen to all neighbors
- A node which still does not have final location
becomes orphan if less than 3 respond since
trilateration will not work.
66Trilateration
- A number of trilaterations done and provides a
estimate of the node - Calculates Objective Function
- Objective function acts as a weighing function
- Node terminates when it determines location or
becomes an orphan
67Performance
68Critique
- Presents a decentralized approach to solve
problems in sensor networks - Analysis
- Overhead / Performance when compared to a
centralized approach? - Time taken To Converge?
- Mobility/ Failure of nodes?
69 70Dealing with Losses
- Neighbor monitoring
- Node will choose a new parent
- When link quality to existing parent drops
- When existing parent hasnt transmitted for some
time - Records can get lost due to parent switching
- But, no duplicates (1 transmission per epoch)
- Caching
- Parents cache children's partial state records
for some number of rounds - Memory duration must be shorter than parent
switching interval - Redundancy
- If a node has multiple parents, split the
aggregate and send at both - Doesnt work for holistic aggregates (e.g. MEDIAN)