1 / 24

Presented by Myeongjae Joen

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. Contents. Introduction Motivation Approach Random Replication Growth Codes

Download Presentation

Presented by Myeongjae Joen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Growth Codes: Maximizing Sensor Network Data PersistenceabhinavKamra, VishalMisra, 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) Sensor Nodes Data follows multi-hop path to sink(s) Sink(s) x1 x9 Sensed Data x2 x10 A single node failure can break the data flow x12 x3 x11 x8 x5 x6 x13 x7 x4

  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. Implementation of Growth Codes • Time divided into rounds • Each node exchanges degree 1 codewords with random neighbor until round K1 • Between round Ki and Ki-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( (Ki-Ki-1)/k, (k-Ki-1)/k)) 12

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

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

  15. x5 x2 Recovered symbols Iterative Decoding x1 x3 x3 x1 x3 x4 Received codewords Unused codewords • 5 original symbols x1 … x5 • 4 codewords received • Each codeword is XOR of component original symbols 15

  16. Online Decoding at the Sink Undecoded codewords Undecoded codewords x2⊕x6 x2⊕x5 = ⊕ x2 x6 Sink Sink New codeword x2⊕x6 x1 x1 x3 x3 x2⊕x5 x2 x6 = ⊕ x6 x5 x5 x2 Recovered Symbols Recovered Symbols 16

  17. Revisiting earlier simulation(N = 1500) 17

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

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

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

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

  22. Motes experiment 1 22

  23. Motes experiment 2 23

  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 24

More Related