Coding Techniques for Repairability in Networked Distributed Storage Systems