Presentation is loading. Please wait.

Presentation is loading. Please wait.

Growth Codes: Maximizing Sensor Network Data Persistence abhinav Kamra, Vishal Misra, Jon Feldman, Dan Rubenstein Columbia University, Google Inc. (SIGSOMM’06)

Similar presentations


Presentation on theme: "Growth Codes: Maximizing Sensor Network Data Persistence abhinav Kamra, Vishal Misra, Jon Feldman, Dan Rubenstein Columbia University, Google Inc. (SIGSOMM’06)"— Presentation transcript:

1 Growth Codes: Maximizing Sensor Network Data Persistence abhinav Kamra, Vishal Misra, Jon Feldman, Dan Rubenstein Columbia University, Google Inc. (SIGSOMM’06) Presented by Myeongjae Joen KAIST CALAB CS712

2 Contents  Introduction  Motivation  Approach  Random Replication  Growth Codes  Experiment

3 Introduction: A Generic Sensor Network  Generic Aim: Collect data from all nodes at sink(s) Sink(s) Sensor Nodes Data follows multi-hop path to sink(s) Sensed Data x1x1 x9x9 x 10 x 12 x 11 x 13 x4x4 x5x5 x6x6 x3x3 x2x2 x8x8 x7x7 A single node failure can break the data flow

4 Introduction  Sensor Networks in a Disaster setting  Monitoring earthquakes, fires, floods etc..  Congestion near sink(s) All nodes simultaneously forward data in disaster event Overwhelm sink(s) capacity  Network Collapsing Pre-computed routes may fail Data from failed nodes can be lost  Partial recovery of data also useful

5 Introduction: Challenges  Networking Challenges:  Disaster scenarios: feedback often infeasible  Frequent disruptions to routing tree if setup  Difficult to predict node failures  Difficult to synchronize clocks amongst nodes  Coding Challenges:  Data source distributed (among all sensor nodes)  Sensor nodes have very limited memory, CPU, bandwidth

6 Motivation  Maximizing Data Persistence in a disaster  Persistence: fraction of data generated within the network that eventually reaches the sink  How can we maximize the persistence?  Preserve data from failed sensor nodes  Deliver data to sink(s) as fast as possible

7 Approach  Two main ideas  Randomized routing and replication Avoid actively maintaining routes Replicate data in random direction to increase data survival  Distributed channel codes (Growth Codes) Expedite data delivery & survivability

8 Random Replication  Nodes transfer sensed data with random neighbors  Process iterates and sensed data is copied across the network  Sensed data goes on a “random walk” through the network  Process robust to localized failures  Can be thought of as a replication code

9 Network Assumption  N node sensor network  Limited storage: each node stores fixed number of data units  Large storage at sink(s)  All sensed data assumed independent

10 Terminology  Codewords  linear combinations of (randomly selected) groupings of data units  original data or XOR’d conglomerates of original data C = (A ⊕ B) ⊕ (A ⊕ B ⊕ C)  Degree of a codeword  The number of symbols XOR’d together to form the codeword

11 Growth Codes  Degree of a codeword “grows” with time  At each timepoint codeword of a specific degree has the most utility for a decoder (on average)  This “most useful” degree grows monotonically with time  Some additional “header” is necessary to describe the set of symbols encoded in the codeword

12 12 Implementation of Growth Codes  Time divided into rounds  Each node exchanges degree 1 codewords with random neighbor until round K 1  Between round K i and K i-1 nodes exchange degree i codewords  Sink receives codewords as they get exchanged in the network  Growth Code degree distribution at time k  k) :=  i = max(0, min( (K i -K i-1 )/k, (k-K i-1 )/k))

13 13 High Level View of the Protocol 1 4 2 3 Nodes send data at random times (Current implementation: exponentially distributed timers: not tightly synchronized clock)

14 14 High Level View of the Protocol 1 2 After time K 1, nodes start sending degree 2 codewords  Degree 2 codeword Symbols Degree 1 codewords Sender picks a random symbol XORs it with its own symbol 4 3 Even if node 3 fails Node 3’s data survives 0 K2K2 K3K3 K1K1

15 15 Received codewords Iterative Decoding x1x1 x3x3 x5x5 x2x2 x1x1 x3x3 x4x4 x3x3 Recovered symbols Unused codewords 5 original symbols x 1 … x 5 4 codewords received Each codeword is XOR of component original symbols

16 16 Online Decoding at the Sink x1x1 Recovered Symbols x6x6 x3x3 Undecoded codewords x2⊕x5x2⊕x5 Sink New codeword x2⊕x6x2⊕x6 x1x1 Recovered Symbols x6x6 x3x3 Undecoded codewords x2x2 = x6x6 ⊕ x2⊕x5x2⊕x5 x5x5 = x2x2 ⊕ x2⊕x6x2⊕x6 x5x5 Sink x2x2

17 17 Revisiting earlier simulation (N = 1500)

18 18 Time to recover all data Phase transition in obtaining last few data units (coupon collector’s problem)

19 19 Recovery Rate Without coding, a lot of data is lost during the disaster even when using randomized replication

20 20 Effect of Topology 500 nodes placed at random in a 1x1 square, nodes connected if within a distance of 0.3

21 21 Resilience to Random Failures 500 node random topology network Nodes fail every second with a probability of 0.0005 (1 every 4 seconds in the beginning)

22 22 Motes experiment 1

23 23 Motes experiment 2

24 24 Conclusions  Data persistence in sensor networks:  First distributed channel codes (GC)  Protocol requires minimal configuration  Is robust to node failures  Simulations and experiments on micaz motes show:  GC achieves complete recovery faster  GC recovers more partial data at any time


Download ppt "Growth Codes: Maximizing Sensor Network Data Persistence abhinav Kamra, Vishal Misra, Jon Feldman, Dan Rubenstein Columbia University, Google Inc. (SIGSOMM’06)"

Similar presentations


Ads by Google