The efficiency of using multicast in multi-party applications is constrained by preference heterogeneity, where receivers range in their preferences for application data. We examine an approach in which approximately similar sources and receivers are clustered into multicast groups. The goal is to maximize preference overlap within each group while satisfying the constraint of limited network resources. This allows an application to control the number of multicast groups it uses and thus the number of connections it maintains. We present a clustering framework with a two-phase algorithm: a bootstrapping phase that groups new sources and receivers together, and an adaptation phase that re-groups them in reaction to changes. The framework is generic in that an application can customize the algorithm according to its requirements and data characteristics. We conducted detail simulation experiments to study various issues and tradeoffs in applying clustering to different preference patterns and application classes. We found that clustering successfully exploits preference similarity and utilizes network resources more efficiently than when it is not used. Also, application-level hints can be incorporated in our algorithm, which are instrumental in the creation of an effective grouping of sources and receivers. Our algorithm handles changes dynamically, and also limits multicast "join" and "leave" disruption to the application.
展开▼