A Practical Network Coding Approach for Peer-to-Peer Distributed Storage