Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Order Reconstruction and Data Integrity Testing of Sensor Network Data Matthias Keller, ETH Zürich MICS Workshop, 29.06.2010.

Similar presentations


Presentation on theme: "1 Order Reconstruction and Data Integrity Testing of Sensor Network Data Matthias Keller, ETH Zürich MICS Workshop, 29.06.2010."— Presentation transcript:

1 1 Order Reconstruction and Data Integrity Testing of Sensor Network Data Matthias Keller, ETH Zürich MICS Workshop, 29.06.2010

2 2 PermaSense Matterhorn Deployment August 2008 – today Single base station 17 sensor nodes TinyOS/Dozer [Burri2007] Constant rate < 0.1 MByte/node/day

3 3 Problem in Finding Temporal Order of Generation Inconsistencies between packet generation timestamp and sequence number

4 4 Approach Sensor Network Filtered, Annotated Data System/Error Model Packet Analysis SN Data AnalysisUser Domain Research Feedbac k System Status 1 Data Model

5 5 Approach Sensor Network Filtered, Annotated Data System/Error Model Packet Analysis SN Data AnalysisUser Domain Research Feedbac k System Status 1 Data Model

6 6 Related Work Post-mortem time reconstruction –Volcano deployment: Problems with FTSP [WernerAllen2006] –SunDial: Reconstruct global time from light intensity measurements [Gupchup2009] –Phoenix: Time reconstruction under frequent loss of local node state [Gupchup2010] –This work does not reconstruct timestamps, but annotates the data with information on the temporal order of generation Data integrity in data warehousing –Cleaning of erroneous user inputs, i.e. with the help of dictionaries [Rahm2000] –Data integrity based on conformance of observed system behavior to a system/error model of the system

7 7 Research Questions How can we model networked embedded systems for analyzing data integrity and network status? What information can we reliably extract from sensor network data? –Node resets, topology changes, … –Temporal order of generation, duplicates, lost data … How can we design observable systems? –Minimally needed status information, timing information, …

8 8 Research Questions How can we model networked embedded systems for analyzing data integrity and network status? What information can we reliably extract from sensor network data? –Node resets, topology changes, … –Temporal order of generation, duplicates, lost data … How can we design observable systems? –Minimally needed status information, timing information, … What follows, is a simple first attempt.

9 9 System Model Sensor Node Periodic data sampling Packet forwarding Local state Unique sender address Local clock with bounded drift Sequence number counter Packet queue Base Station Sink of data collection tree Synchronized GMT clock Only component with a global notion of time Dynamic multi-hop tree topology Period p s

10 10 Example: Journey of a Single Packet ‘ Source address Sequence number s Elapsed time t e Payload d Arrival timestamp t a 1 2040 0 abcd - 1 2040 0+2 abcd - 1 2040 2 abcd - 1 2040 2+4 abcd - 1 2040 6 abcd 2010-06-29 10:27:15 GEN WAIT TXRX WAIT TX RX “ ‘“‘“ Updated packet Updated packet Estimated packet generation time t p = t a – t e = 2010-06-29 10:27:09

11 11 Error Model Data loss Packet duplicatesNode reboots Hard reboot: Power cycle Soft reboot: Watchdog reset Shortens packet period ✗ Retransmission 2 1 3 Lost 1-hop ACK Waiting packets ✗ ✗ ✗ Node reboot Queue reset Empty queue Clock drift ρ  [ -ρ; +ρ] Directly affects measurement of Sampling period p s Contribution to elapsed time t e Indirectly leading to inconsistencies Time stamp order t p vs. order of packet generation s } <ps<ps } psps ^ ^

12 12 Formal System Model with Drift Considering a single sensor node with incrementing i: Sampling period: p s Clock drift: ρ(i)  [ -ρ; +ρ] Packet generation time: t g (i) = t 0 + i * p s * (1+ρ) Packet sequence number: s(i) = i mod s max Sojourn time on node n: t s (i, n) Elapsed time: t e (i) =  (n) t s (i, n) Arrival time at base station: t a (i) Estimated generation time: t p (i) = t a (i) – t e (i) Error bound on generation time calculation: |t p (i) – t g (i)| = |  (n) [ t s (i, n) * ρ(i) ] |  t e (i) * ρ ^^ ^

13 13 Packet Analysis Considering data of a single sensor node Packet input format: (s, t e, d, t a ) –Sequence number s, elapsed time t e, payload d, arrival time t a Packet output format: (s, t e, d, t a, id, [t l, t u ]) –Unique packet identifier id reflects temporal order of generation –Bound on packet generation time [t l, t u ] Goals of packet analysis 1.Add information id, t l, t u to input packets that comply to system and error model 2.Classify all other packets as incorrect: they are witnesses for model violations

14 14 Analysis Concepts Remove uncertainty caused by sequence number s(i) = i mod s max –Assign packets to epochs –Determine unique packet id Determine upper and lower bounds on packet generation t g  [t l, t u ] –Use forward and backward reasoning Remove non-compliant packets –Duplicated packets –Empty generation time intervals –Incorrect epochs (duplicated s, too long) problems: - clock drift - reboots

15 15 Analysis Concepts Remove uncertainty caused by sequence number s(i) = i mod s max –Assign packets to epochs –Determine unique packet id Determine upper and lower bounds on packet generation t g  [t l, t u ] –Use forward and backward reasoning Remove non-compliant packets –Duplicated packets –Empty generation time intervals –Incorrect epochs (duplicated s, too long) problems: - clock drift - reboots

16 16 Separate Data into Epochs Epoch: Packets generated between two consecutive resets of the sequence number Epoch center T C : Timestamp of (hypothetical) packet having sequence number s max /2 Sequence numbers are unique within an epoch Epoch i Epoch centers Epoch i+1Epoch i+2 T = s max /p s ^

17 17 Mapping of Packets to Epochs Timestamp t p, sequence number s: s 0 s max

18 18 Epoch Assignment with Reboots and Drift Ensure clear assignment of packets to epochs:   Bound on elapsed time t e :

19 19 Epoch Assignment Algorithm Process packets from a single node: 1.Order packets by generation timestamp t p 2.Initialize algorithm: i=0, epoch e(i)=0 3.If t p (i)-t p (i-1) < L max – L min + 2 *ρ* t e –e(i) = e(i-1) Else if t p (i)-t p (i-1) ≥ L max – L min + 2 *ρ* t e –e(i) = e(i-1) + 1 3.id(i) = e(i) * s max + s(i) 4.Increment i ^ ^ ^ ^

20 20 Packet Analysis Duplicate Filter Epoch Assignment Violating data Duplicates Correct data with annotated id SN Data Duplicate-free Data Epochs Under given system and error model:

21 21 Epochs: Known Good Network Operation Equally spaced epoch centers

22 22 Epochs: Unstable Network Operation expected distance unexpected data Phase shift due to reset

23 23 Case Study: Conformance to System Model

24 24 Conclusions and Outlook Data integrity testing and order reconstruction based on a system and error model of a real system Give guarantees on data quality –Duplicate-free data –Correct temporal order of generation –Correct logical ordering Improve analysis method and system model –Reduce unexplained packets Integrate results of data filtering based on physical models Temporal order Logical order Physical values


Download ppt "1 Order Reconstruction and Data Integrity Testing of Sensor Network Data Matthias Keller, ETH Zürich MICS Workshop, 29.06.2010."

Similar presentations


Ads by Google