400 likes | 549 Views
Data Persistence in Large-scale Sensor Networks with Decentralized Fountain Codes. Yunfeng Lin, Ben Liang, Baochun Li INFOCOM 2007. Outline. Introduction Preliminaries Persistent Data Access Two-way random walks EDFC and ADFC Discussion of Multiple Encoded Blocks Performance Evaluation
E N D
Data Persistence in Large-scale Sensor Networks with Decentralized Fountain Codes Yunfeng Lin, Ben Liang, Baochun Li INFOCOM 2007
Outline • Introduction • Preliminaries • Persistent Data Access • Two-way random walks • EDFCandADFC • Discussion of Multiple Encoded Blocks • Performance Evaluation • Conclusion
Introduction (1/5) • It has been a conventional assumption that measured data in individual sensors are gathered and processed at powered sinks. • Internet Connections • via Data Aggregation • This assumption may not realistically hold. • large-scale sensor networks • inaccessible geographical regions
Introduction (2/5) • Our proposed vision is: • Ask the sensors to collaboratively store measured data over a historical period of time. • After a later time of convenience, a collector collects such measured data directly from the sensors. PULL Model PUSH Model Sensors are passively polled by the collector. Sensors send data periodically.
Introduction (3/5) • We propose a novel decentralized implementation of fountain codes in sensor networks. • Data can be encoded in a distributed fashion. • A sensor disseminates its data to a random subset of sensors in the network. • Each sensor only encodes data it has received. • The collector is able to decode original data by collecting a sufficient number of encoded data blocks.
Introduction (4/5) • Our decentralized implementation of fountain codes does not require the support of a generic layer of routing protocols. • Do not need Routing Table or Geographical Routing Protocols. • Use random walks to disseminate data.
Introduction (5/5) Source Blocks Caching Caching Encoded Blocks failure! Collector Sensed Data Caching Decoding! Caching : sensing nodes : caching nodes
PreliminariesWhy Fountain Codes? • Replication • backup sensors • But a large number of replicas are required. • Error-correcting Codes • Implemented in a centralized fashion • Random Linear Codes • decentralized • But the decoding process is computationally expensive. • Fountain Codes • Low decoding complexity: • superior decoding performance “Digital Fountain Codes V.S. Reed-Solomon Code For Streaming Applications”S. K. Chang
PreliminariesLT Codes • In LT codes, K source blocks can be decoded from any subset of encoded blocks. • with probability • degree • the number of source blocks used to generate an encoded block • The degree distribution of encoded blocks in LT codes follows the Robust Soliton distribution.
PreliminariesLT Codes • Ideal Soliton distribution • Let • Robust Soliton distribution
PreliminariesLT Codes Example of Robust Soliton distribution K/R = 41 spike! K=10000, c=0.2, and =0.05 The encoded blocks with a degree higher than K/R are not essential in decoding!
PreliminariesRandom Walks on Graphs • We describe random walks in the context of disseminating a source block. • sensor: node in the graph • The next hop is randomly chosen from the neighbors of the source node. • A random walk corresponds to a time-reversible Markov chain. • In this paper, we choose a variant of the Metropolis algorithm. • a generalization of the natural random walks for the Markov chain • non-uniform steady-state distribution
PreliminariesMetropolis Algorithm • The Metropolis algorithm computes the transition matrix. • Steady-state distribution • : neighbors of node i • : maximal node degree in the graph
Persistent Data AccessDecentralized Fountain Codes Caching degree d Source Blocks Caching request source blocks source blocks Encoded Blocks request Sensed Data Caching Sensed Data Caching : sensing nodes K based on two-way random walks : caching nodes N
Persistent Data AccessDecentralized Fountain Codes • We seek to construct decentralized fountain codes with only one traversal of random walks. • from sensing nodes to the caching nodes • Cache Nodes: Encode and store the source blocks. • Collector: Decode the source blocks. • We propose two heuristic algorithms. • EDFC and ADFC • guarantee the Robust Soliton distribution of LT codes
Persistent Data Access Exact Decentralized Fountain Codes • The randomization introduced by random walks. • Distinct source blocks received by a node is uncertain. • We must disseminate more than source blocks on each node. • Redundancy Coefficient: • Assume each node receives blocks. • , Pr (receive less than d nodes)
Persistent Data Access Exact Decentralized Fountain Codes • The number of random walks: • Probabilistic forwarding tables:
Persistent Data AccessExact Decentralized Fountain Codes Source Blocks degreed Caching degreed Encoded Blocks source blocks source blocks degreed degreed Collector degreed Sensed Data Decoding! degreed Sensed Data Caching Caching : sensing nodes K : caching nodes N , forwarding Table, and # of random walks.
Persistent Data Access Exact Decentralized Fountain Codes • The steps of EDFC are: Step 1. Degree generation. Step 2. Compute steady-state distribution. Step 3. Compute probabilistic forwarding table. Step 4. Compute the number of random walks. Step 5. Block dissemination. Step 6. Encoding. from the Robust Soliton distribution by the Metropolis algorithm b: number of random walks based on the probabilistic forwarding table by bitwise XOR of a subset of d source blocks The source node IDs are attached in the encoded block!
Persistent Data AccessExact Decentralized Fountain Codes • Overhead ratio • Violation Probability • Optimization Problem: trade-off between coding performance and communication overhead
Persistent Data AccessExact Decentralized Fountain Codes • Solve the optimization problem by MATLAB • Parameter Setting • (constraints of violation probabilities) = 0.05 • N (the number of total nodes) = 2000 • K (the number of sensing nodes) = 1000 • c = 0.01, = 0.05 • Further numerical computation • overhead ratio = 1.4508
Persistent Data Access Approximate Decentralized Fountain Codes • Design a new distribution to be a hypothetical chosen degree distribution. • attempt to avoid its redundant random walks • Number of random walks • Steady-state distribution of the random walks
Persistent Data Access Approximate Decentralized Fountain Codes • Optimization Problem: p actual degree distribution of a node minimize the mean-square error between and
Persistent Data Access Approximate Decentralized Fountain Codes • The steps of ADFC are: Step 1. Degree generation. Step 2. Compute steady-state distribution. Step 3. Compute probabilistic forwarding table. Step 4. Compute the number of random walks. Step 5. Block dissemination. Step 6. Encoding. from the chosen degree distribution by the Metropolis algorithm b: number of random walks based on the probabilistic forwarding table by bitwise XOR of all received source blocks The source node IDs are attached in the encoded block!
Persistent Data Access Approximate Decentralized Fountain Codes • Overhead ratio of ADFC • b: the number of random walks in ADFC • b0: the number of random walks in the ideal algorithm • By further numerical computation • The overhead ratio is only 0.2326. • Less transmission cost is required. • But…
Persistent Data Access Approximate Decentralized Fountain Codes • Parameter Setting • N (number of total nodes) = 2000 • K (number of sensing nodes) = 1000 • c = 0.01, = 0.05 Robust Soliton distribution chosen degree distribution actual degree distribution inaccuracy!
Discussion of Multiple Encoded Blocks Source Blocks Cache Node • Does it improve the coding performance if different encoded blocks are maintained? Source Blocks Encoded Blocks …… may lose some information… Source Blocks Sensing Nodes
Discussion of Multiple Encoded Blocks • Theorem 2 • When the code-degree distribution conforms to the Robust Soliton distribution, even if the source blocks on each node are not encoded, the collector must visit nodes in order to collect all source blocks with probability . • is a small positive number. • is a random variable that assumes the value 1 if the source block j is collected when visiting ith node. average degree of an encoded block [3]
Discussion of Multiple Encoded Blocks • has value 1 if source block j is collected after visiting M nodes. • E denote the event that all blocks are collected after visiting M nodes. • All blocks are collected with probability
Discussion of Multiple Encoded Blocks • Apply logarithm to both sides • By using similar approximation, we obtain The collector needs to visit nodes to collect all K source blocks.
Performance Evaluation • We implement both the original centralized and the decentralized implementation of fountain codes. • To evaluate the effectiveness and performance • Centralized implementation of fountain codes • about 1000 lines of C++ code • Optimized implementation of encoding and decoding algorithms. • Decentralized implementation of fountain codes • also simulated in C++
Performance Evaluation • Use two-dimensional Geometric Random Graph as the topological model. • N sensors are uniformly distributed on a unit disk • K sensing nodes are uniformly distributed among the N sensors. • Radio range: r • We set K=10000, N=20000, and r=0.033 in most experiments. • The average number of neighbors for each node is 21.
Performance EvaluationCommunication Cost and Decoding Ratio • Two main performance metrics • Communication Cost and Decoding Ratio • Communication Cost • the length of random walks • the number of random walks • Decoding Ratio • number of nodes need to be visited by a collector for decoding • Normalized by the number of sensing nodes. fault tolerance!
Performance EvaluationCommunication Cost and Decoding Ratio The impact of the length of random walks on decoding ratio. 1.05 50 500 Each Data Point: the average and the 95% confidence interval from 10 experiments
Performance EvaluationCommunication Cost and Decoding Ratio The ratio of dissemination costs of EDFC and ADFC to that of the two-way algorithm. 0.8 0.2
Performance EvaluationMultiple Encoded Blocks Cannot Do Better • Theorem 2: • Keeping multiple encoded blocks on each node does not offer any asymptotic performance advantage over keeping a single encoded block. • The collector needs to visit close to K nodes even if the source blocks are not encoded. The number of nodes to be visited before collecting all source blocks.
Performance EvaluationOverestimation of K and N • The failure of sensors are common events. • in large-scale sensor networks • It is not feasible to update K and N to all nodes in the network whenever they change. • Update K and N periodically. • Each node may overestimateK and N.
Performance EvaluationOverestimation of K and N • The consequence of overestimating N: • N: the number of total nodes Actual N = 20000. 1.05
Performance EvaluationOverestimation of K and N • The impact of overestimating K: • K: the number of sensing nodes Estimated K = 10000. EDFC is more robust!
Conclusion • In this paper, we seek to improve the fault tolerance and data persistence in sensor networks. • decentralized implementation of fountain codes • disseminate original data throughout the network with random walks • Superior decoding performance and low decoding complexity of fountain codes. • as the number of nodes scales up • The proposed algorithms are able to provide near-optimal fault tolerance. • with minimal demand on local storage