Taxonomy of Communication Requirements for Large-scale Multicast Applications