Overlay architectures for file distribution: Fundamental performance analysis for homogeneous and heterogeneous cases