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