EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

25
eScan implementation on eScan implementation on TinyOS TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    217
  • download

    0

Transcript of EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

Page 1: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

eScan implementation on TinyOSeScan implementation on TinyOS

Jisu Oh

May 8, 2006

CS 580S Project Presentation

Page 2: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

Problems – Do you need energy-aware Problems – Do you need energy-aware sensor network systems? sensor network systems?

The requirement of ENERGY EFFICIENCY pervades all aspects of the sensor network system design.

- Sensor nodes have only finite energy reserves from a battery

- Necessary to detect hazardous conditions such as node death or unpredictable network change in advance

- For routing, wireless communication, query processing, security etc.

Residual Energy Level is one of the most significant sensor network resources!

Page 3: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

Problems – Do you need energy-aware Problems – Do you need energy-aware sensor network systems? (cont.)sensor network systems? (cont.)

Unattended and ad-hoc nature- Sensor nodes might be autonomously deployed in an unplanned fashion

Drop from an airplane, any changes due to harsh environment

Continuously updating the sensor network health indications is critical

Page 4: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

Solutions Solutions – Residual Energy Scan (eScan)– Residual Energy Scan (eScan)

eScan proposed by Zhao et al (WCNC ’02) to monitor and display abstracted view of energy resource distribution in sensor networks

- Simulation using C++ packet

- Need to see how eScan works at a real sensor network

Goal of this project- Learn TinyOS and implementation techniques on real sensor motes

- Implementation of the eScan

Page 5: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

Today’s talkToday’s talk

eScan overview eScan implementation

Page 6: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

eScan challengeseScan challenges

Severe constraints in wireless sensor networks

- Limited energy

- Limited memory

- Limited bandwidth

Impractical to extract residual energy level of each individual node

Resources for eScan should be minimized since eScan works under other applications

Page 7: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

eScan approacheseScan approaches

A residual energy scan, eScan, depicts the remaining energy levels of sensor nodes Using in-network lossy aggregation trading-off system lifetime and data accuracy

An example of residual energy map

Page 8: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

eScan Key ideaseScan Key ideas

eScan tuple-<value, coverage>

- value: (min, max) residual energy level in coverage area

e.g. (35%, 37%)

- coverage: a polygon region described by value, which is the locations of boundary nodes

e.g. {(3,3), (3,2), (2,2)} eScan A eScan B

eScan C

Page 9: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

eScan Key ideas – Constructing eScanseScan Key ideas – Constructing eScans

1. Determining local eScans- Each sensor generates a local eScan tuple.

e.g., Let node A have battery power v at location (x,y)

Local eScan of A is <(v, v) {(x, y)}> 2. Only disseminates when the energy level drop significantly since last reported its eScan

eScan AValue: (v_a, v_a)

Coverage: (x_a, y_a)

eScan BValue: (v_b, v_b)Coverage: (x_b, y_b)

eScan CValue: (v_c, v_c)Coverage: (x_c, y_c)

Page 10: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

eScan Key ideas eScan Key ideas – Constructing eScans (cont.)– Constructing eScans (cont.)

3. Aggregating eScans- At an intermediate node, received eScans are combined into one aggregated eScan based on value similarity and spatial adjacency.

- Aggregate two eScan A and B when

- Tolerance T is the maximum allowed relative error of residual energy value by aggregation

- Resolution R is a spatial adjacency threshold

Page 11: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

eScan Key ideas eScan Key ideas – Constructing eScans (cont.)– Constructing eScans (cont.)

New eScan C is defined as

C.min = min{A.min, B.min}

C.max = max{A.max, B.max} ∴size(C) < size(A) + size(B)

C.Coverage = Merge(A, B, R)

eScan Av: (35%, 37%)

eScan Bv: (35%, 36%)

eScan Cv: (35%, 37%)

Page 12: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

Why eScan is importantWhy eScan is important

Data aggregation from completely new angle- Aggregation of informative data instead of sensed data

from environment

- Nofity to users when additional sensors should be deplyed due to serious energy depletion or abnormal working

- Auto-scaled by varying their resolutions

- Incremental updates when its local state has changed significantly

Page 13: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

eScan implementationeScan implementation

Project progress- Installation TinyOS

- Study TinyOS architecture and components and NesC fundamentals

- Use TOSSIM to test/debug

- Measure residual power at each sensor node

- Route those readings via geographic forwarding

- Aggregate eScans at intermediate node

- Download app into MICA2 motes to run an experiment

- Visualize eScans (not yet impelmented)

Page 14: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

eScan packet format eScan packet format – Escan.h– Escan.h

<type, srcAddr, destAddr, min, max, x1, x2, y1, y2>- type: local or aggregate

- srcAddr, destAddr: source/destination node location

- min, max: minimum/maximum remaining battery voltage

- x1, x2, y1, y2: (x1, y1) is a left bottom location and (x2, y2) is a right upper location of aggregated eScans coverage

- Note: coverage is boundary locations of a combined polygon in the original paper. But here, I use square representation in order to simplify.

Page 15: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

Key components Key components – Escan.nc, EscanM.nc– Escan.nc, EscanM.nc

Battery voltage - interface BatteryADC

- Read battery voltage reference from ADC7 channel at every second

- Convert it into voltage value using (refer TinyOs Tutorial : Lesson 8)

Vout = Vref * ADC_FS / ADC_output

Vref = 1.223V (battery Vcc voltage)

ADC_FS = 1024

ADC_output = reading from ADC channel 7

- Generate a local eScan <local, myAddr, destAddr, v, v, x, x, y, y>

Page 16: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

Key components Key components – Escan.nc, EscanM.nc (cont.)– Escan.nc, EscanM.nc (cont.)

Battery voltage event result_t BatteryADC.dataReady(uint16_t data){

Convert raw reading into battery voltage;

Update if voltage value is droped more than Tolerance;

if(isQNull) insert a local escan into a queue

else post agg_escan();

}

Page 17: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

Key components Key components – Escan.nc, EscanM.nc– Escan.nc, EscanM.nc

Receive eScan from other nodes event TOS_MsgPtr Radio.Receive.receive(TOS_MsgPtr data){

if(isQNULL) insert received escan into a queue;

else post agg_escans();

}

Aggregate eScans- Same manner as one at original paper

- Aggregate updated local eScan or newly received eScans with queued eScans (max queue size = 10)

- At every 10 seconds, disseminate queued eScans

Page 18: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

Key components Key components – Escan.nc, EscanM.nc– Escan.nc, EscanM.nc

Aggregate eScans task void agg_escans(){ if( inT(escan X, q[i]) && inR(escan X, q[i]) ) then new eScan Y = aggregate(escan X, q[i]); else { if(isQFull && local_escan) then call RadioSend.send(); else if(isQFull && received_escan) then Drop received eScan; } }

Page 19: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

Multi-hop routing Multi-hop routing – Geographic forwarding– Geographic forwarding

Geographic Forwarding- Original paper constructs a typical spanning tree as an aggregate tree

∙ Base station floods INTEREST message

∙ Once sensor node x receives the message from node y, x indicates y as a parent.

- Since eScan transmit location associated packet, a location-based protocol would be work more appropiately.

- Thus I choose GF in this implementation

Page 20: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

Multi-hop routing Multi-hop routing – Geographic forwarding (cont.)– Geographic forwarding (cont.)

Assumptions- Each node already knows its own location

- Parent is a node which is closest to base station among one-hop neighbors

- Implementing routing protocol is beyond of this project so I don’t present more detail about routing now.

Page 21: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

ExperimentExperiment

eScan v.s. Without aggregation- #node: 9

- Tolerance: 20%

- Resolution: 2

- TinyViz

Page 22: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

Experiment (cont.)Experiment (cont.)

eScan v.s. Without aggregation- #node: 9

- Tolerance: 20%

- Resolution: 2

Page 23: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

Future workFuture work

Visual representation of eScan Conduct experiment to wee the performance of the energy consumption Compare the experiment with C++ simulation results Embed as a complementary to other sensor network application to identify particular network problems within particular region

Page 24: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

SummarySummary

Monitoring energy level of each sensor node is important in wireless sensor network In-network processing could do it in energy-efficient manner eScan is very simple and efficient aggregation to monitor the residual energy resource distribution within a sensor field

Page 25: EScan implementation on TinyOS Jisu Oh May 8, 2006 CS 580S Project Presentation.

Questions?Questions?