Title: Going Beyond Nodal Aggregates: Spatial Average of a Continuous Physical Process in Sensor Networks
1Going Beyond Nodal Aggregates Spatial Average of
a Continuous Physical Process in Sensor Networks
- Simon Han, Ganeriwal Saurabh,
- Mani Srivastava
- simonhan, saurabh, mbs _at_ee.ucla.edu
2Aggregation
- Communication is expensive
- Compress data near source to reduce communication
(e.g. max, average, etc)
MICA mote Berkeley
3Aggregation in Sensor network
- Strong coupling with the physical world
- Underlying physical process is going to be mainly
continuous. - Temperature, CO gas content, Precipitation etc.
- Deployment is going to be random and generally
unknown to the end user. - Typical Query will be of form
- Give me the average temperature in this room
- And not
- Give me the average temperature over the nodes
N1, N2,, Nk.
4Nodal v/s Spatial Aggregation
- Problem Calculate the average reading over
region R. - Proposed solution of nodal aggregation
Calculate it over the discrete set of nodes lying
in region R. - Results in inaccurate answer
5
5
50
2
2
5
5
50
5
5
- Deficiency Missing notion of space
5Approaches of Spatial Aggregation
- What we need?
- The value of the underlying process throughout
region R. - What we have?
- A few samples of it in the form of sensor values
- Moreover they are non uniform in space.
- What can we do?
- Use interpolation to estimate values at virtual
nodes on a uniform grid. - Use classical results of generating the process
from non-uniform samples. - Fit a surface to existing available samples and
calculate aggregate on that surface.
6Design Space
- Localized distributed algorithm
- Energy efficient
- Involve distance factor
- Physical phenomena
- Light weight
- Limited computation resource
7Spatial Interpolation Methods
- By Scope
- Global use all data points
- Local use limited set of data points
- By Fit
- Exact observed data points predicted exactly
- Approximated even observed data points predicted
with error - By Model
- Deterministic math model
- Stochastic probabilistic model
8Spatial Interpolation I
- IDW (Inverse Distance Weighting)
- zx Si wizi / Si wi , wi 1/dix2
- Local, exact, deterministic
- Distributed?
- Point association problem
- Trend Surface
- approximated by least-squares regression fit to
data points - Global, approximated, stochastic
- Aggregation not possible
Picture from http//skagit.meas.ncsu.edu/helena/g
mslab/viz/sinter.html
9Spatial Interpolation II
- Spline
- Fits a minimum-curvature surface through input
points with piecewise polynomials - Local, exact, deterministic
- Moderate computation
- Kriging
- uses a semivariogram, a measure of spatial
correlation between two points, so the weights
change according to the spatial arrangement of
the samples. - Local/global, exact, stochastic.
- Need to know the spatial correlation of physical
process - Computational intensive!
Picture from http//skagit.meas.ncsu.edu/helena/g
mslab/viz/sinter.html
10Spatial Interpolation III
- Triangulated Irregular Network
- Also known as Delaunay triangulation
- Models surface as a set of contiguous,
non-overlapping triangle planes. - Local, exact, deterministic
- May require global knowledge
- Voronoi Polygons
- Collection of all points that are closer to known
point than any other points - Local, exact, deterministic
- May require global knowledge
- Light computation
Picture from http//skagit.meas.ncsu.edu/helena/g
mslab/viz/sinter.html
11Spatial Average Voronoi Approach
- Use the area of Voronoi polygon as weight of the
node and apply weighted average - ?i Si(t) Ri(t) / ? Ri(t)
- Si(t) sensor reading in node i at time t
- Ri(t) the area of Voronoi polygon at node i
- Boundary condition?
- Use polygon clipping algorithm
- Localized and Distributed?
- Polygon clipping on Square Inscribed in the radio
circle
12Spatial Average (Centralized)
- Get locations and sensor readings of nodes
- Construct Voronoi diagram
- Polygon clipping on the boundary
- Compute weighted average
13Spatial Average (Distributed)
- For each node
- Do neighbor discovery
- Construct Voronoi diagram
- Polygon clipping on inscribed square
- Compute polygon area
- Compute partial weighted sum and partial sum of
areas
14Modes of Spatial Aggregates
- Centralized Snapshot (Centralized-s)
- When the frequency of query gt average sensor node
life time - Centralized Periodic (Centralized-p)
- When the frequency of query lt average sensor node
life time - Distributed
- Depends on the size of network and the number of
sensor nodes in the network - Depends on the height of aggregation tree and
number of nodes as well!
15Energy Analysis Aggregation tree model
- LH(k) number of nodes in k level of aggregation
tree - L size of the field
- N number of nodes in the network
- r radio range
- LH(1) ?r2/(L2/N)
- LH(2) ?((2r)2 r2)/(L2/N)
- LH(k) ?((kr)2 ((k-1)r)2)/(L2/N)
- LH(k) (N?r2/L2)(2k 1)
16Energy Analysis Centralized-p
- Upon receiving query
- Every sensor node sends its node id and location
to the user node. The user node calculates the
Voronoi polygon area for every node. - Ecp1 Ebit(Nsize(hdr)?k1L/2r
size(idloc)kLH(k)) - The user node sends back the area of Voronoi
polygon area to every node. - Ecp2 Ebit(Nsize(hdr)?k1L/2r
size(idarea)kLH(k)) - Aggregation
- Ecp3 Ebit(Nsize(hdridpartial_state))
17Energy Analysis Centralized-s
- Upon receiving query
- Every sensor node sends its location and data to
the user node. - Ecs1 Ebit(Nsize(hdr)?k1L/2r
size(idlocvalue)kLH(k)) - The user node calculates spatial average using
Voronoi approach - Ecs2 0 (for centralized server)
18Energy Analysis Distributed
- Upon receiving query
- Compute the area of Voronoi polygon for the
weight - Ed1 t(Nneighbor)Pcpu
- Node sends partial weighted sum and partial sum
of Voronoi area - Ed2 Ebit(Nsize(hdridpartial_state))
19Centralized or Distributed?
- Snapshot
- Ecs1 gtgt Ed2
- If Ed1 is small, distributed version is better
- Periodic
- Ecp3 Ed2
- If Ed1 lt Ecp1 Ecp2, distributed version is
better
20Simulation Model
- V(p,t) ?isources (kdist(i)1)-a V(p(i),t)
- V(p,t) the value of sensed quantity at point p
at time t - dist(i) the distance between point p and source
i at time t - p(i) the position of source i at time t
- Network size of 100 x 100
- Average over 100 random topologies and 200 data
points for single topology. - Simulates relative error between ground truth
average and nodal/spatial average
21Varying diffusion model
- One fixed source and varying number of nodes and
diffusion models - Node density? Error?
- Always better than nodal average under quadratic
and cubic models!
22Varying number of sources
- Quadratic diffusion model with fixed sources
- Outperform nodal average under different number
of sources! - Worst case lt 10 for sparse networks
23Varying mobility of sources
- One mobile source
- Clearly outperform nodal average with low
standard deviation in relative errors
24Robustness to link failures
- One fixed source with quadratic diffusion model
- Using max distance between neighbors as radio
range - Robust to link failures!
25Simulation on precipitation data set
- Precipitation data from University of Delaware
(Thank you, Deepak!) - Randomly pick 50-300 points out of 2152 girded
data set - Result verifies simulation on physical process
model
26Implementation
- On Berkeley Motes
- Time efficient algorithm
- Steven Fortune Voronoi
- Polygon clipping
- Greens Polygon area
- 22k flash, 4k RAM for 10 neighbors
- Memory efficient algorithm
- Dummy nodes placements to handle clipping
- Bisector node with each neighbor
- Greens Polygon area
- 11k flash, 1.5k RAM for 25 neighbors
27Performance Measurement
- Average over 100 set of random neighbors
- Memory efficient O(N2), but O(N logN) exist!
- Time efficient O(N), but no practical to Motes
- Voronoi computation is heavy in motes
- Floating point operations
- High memory constraint
28Energy Analysis Parameters
- Assume SMAC and Manchester coding
- Energy per bit include both RFM and
microcontroller
29Energy Analysis L 100, Height 5
30Centralized vs. Distributed
- Under dense network or large aggregation tree,
Centralized-p is energy efficient - The curve can be used for query-time decision!
- Require number of nodes and height of aggregation
tree
31Centralized-p vs. Centralized-s
- Periodic query can be done with Centralized-s
mode. - If frequency of the query is low (once per day)
- Or number of queries are small
32Integrating with Tiny DB
- Existing frameworks are for doing nodal
aggregation. - Calculating spatial aggregate
- Find the subset of nodes lying in region R
(already available). - Invoke the spatial_weight API.
- Send back the weighted sensor value.
- Flexible
- With the simple Voronoi based approach, spatial
aggregation reduces to nodal aggregation! - Not possible with other approaches like virtual
estimation on uniform grid, non-sampling theory
or even with other interpolation techniques like
Kriging etc.
33Going beyond spatial average
- Problem Isobar mapping
- Proposed solution
- Divide terrain into regions with just one node
per grid. - Define partial state as this polygon.
- Use polygon combination algorithm.
- Deficiency
- How to form this grid?
- Requires every node to sends its coordinates to
central entity. - What if no nodes in a grid?
- Define them as holes and neglect them.
- Thus problem is redefined as finding regions of
contiguous space with equal temperature and where
sensor node exists - Why does the answer has to depend on deployment
34Isobar mapping (spatial)
- Define polygon as voronoi cell.
- Integrates easily into existing framework
- We are just redefining the polygon
- Solves all deficiency
- Distributed and requires no communication.
- No holes.
- More accurate.
35Histogram
- Problem Forming the histogram of values of the
process - Proposed solution
- Redefine it to be histogram of sensor node
values. - Use simple aggregation algorithms.
- Deficiency
- Neglects density completely.
- Each sensor node value does not contribute
equally (refer to earlier figure). - Similar to spatial average
- Just weight the sensor values by their voronoi
cell area.
36Is spatial aggregation valid always
- Sadly speaking NO!
- Process might be discrete
- Sensors deployed on doors to count the number of
persons leaving entering the room. - Monitoring system properties like battery life,
connectivity etc. - Depends on aggregates
- Max and min are almost similar in both the
domains. - Some aggregates might not be defined in spatial
aggregation. - There is no kth max of a continuous process.
- Have to work with percentiles.