Jigar Doshi - PowerPoint PPT Presentation

1 / 70
About This Presentation
Title:

Jigar Doshi

Description:

Sensitive to constraints of ad-hoc sensor networks ... Illustration: Pipelined Aggregation. 1. 2. 2. 1. 3. 2. 1. 1. 1. 1. 1. 1. 1. 2. 3. 1. 4. 3. 5. 4. 3. 2. 1 ... – PowerPoint PPT presentation

Number of Views:72
Avg rating:3.0/5.0
Slides: 71
Provided by: Jig3
Category:

less

Transcript and Presenter's Notes

Title: Jigar Doshi


1
In-Network processing
  • Jigar Doshi

2
What 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

3
TAG - 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

4
Requirements 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

5
Tree 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
6
Query 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

7
Aggregate 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

8
Classifying 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

9
Aggregate Taxonomy
10
The 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 ?

11
Flow 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

12
Illustration 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
13
Illustration 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
14
Illustration 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
15
Grouping
  • Simple aggregation mechanism
  • Complicated by HAVING clause
  • Group eviction to solve storage problem
  • Evicted tenant sent to parent

16
Simulation 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

17
Simulation Screenshot
18
Simulation 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

19
Experiment Basic TAG
  • Dense Packing, Ideal Communication

20
Experiment Hypothesis Testing
  • Uniform Value Distribution, Dense Packing, Ideal
    Communication

21
TAG 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

22
Experiment Effects of Loss
23
Experimental 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

24
Experiment Benefit of Cache
25
Summary
  • 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

26
Critique
  • Fault Tolerance too simplistic
  • How high is the failed node on the tree
  • Mobility
  • Multiple Queries ?
  • Query Optimization
  • Cougar
  • Congestion
  • Generic ?

27
  • Questions ?

28
Time Indexing in Sensor Networks
  • Rong Zheng, GuangHui He, Indy Gupta, Jennifer C
    Hou, Lui Sha
  • UIUC

29
What 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

30
Storage 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

31
The 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.

32
Requirements 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 !

33
Dominating 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)
35
Selecting 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

37
Choices 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

38
Localized 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

39
Performance
40
The integer Programming version
41
Information 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

42
Performance Evaluation
43
Performance Evaluation
44
Future 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

45
Localized Algorithms In Wireless Ad-Hoc Networks
Location Discovery And Sensor Exposure
  • Seapahn Meguerdichian, Sasha Slijepcevic,Vahag
    Karayan1, Miodrag Potkonjak
  • UCLA

46
What 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

47
Localized Algorithm Components
  • Data acquisition mechanisms
  • Optimization mechanisms
  • Search expansion rules
  • Bounding conditions
  • Termination rules

48
Generic 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

49
Sensor 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.

50
Sensor 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
51
Localized 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?

52
Minimal 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.

53
Exposure 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

54
Updating 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

55
Stopping 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.

56
Localized 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

57
Localized 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

58
Performance
59
Performance
60
Performance
61
Localized Minimal Exposure Path
62
Location 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
63
Location 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

64
Initiation
  • Set bits gotFinal and Orphan
  • Send to everybody

65
Information 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.

66
Trilateration
  • 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

67
Performance
68
Critique
  • 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
  • Questions ?

70
Dealing 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)
Write a Comment
User Comments (0)
About PowerShow.com