On the Optimal Provider Selection for Repair in Distributed Storage System with Network Coding