AVCast: new approaches for implementing generic availability-dependent reliability predicates for multicast receivers
Thadpong Pongthawornkamol, Indranil Sen Gupta · IEEE Transactions on Network and Service Management · 2007
Today's large-scale distributed systems consist of collections of nodes, each of which has its own availability characteristics - a phenomenon sometimes called churn. This availability variation across nodes is often a hindrance to achieving reliability and performance for distributed applications such as multicast. This paper looks into utilizing and leveraging availability information in order to implement arbitrary predicates that specify availability-dependent message reliability for multicast receivers. An application (e.g., a publish-subscribe system) may want to scale the multicast message reliability at each receiver according to that receiver's availability (in terms of the fraction of time that receiver is online) - different options are that the reliability is independent of the availability, proportional to it, or an arbitrary function of it, etc. We propose several gossip- based algorithms to support an arbitrary class of such predicates. These techniques rely on each node's availability being monitored in a distributed manner by a small group of other nodes in such a way that the monitoring load is evenly distributed in the system. Our techniques are light-weight, scalable, and are space- and time- efficient. We analyze our algorithms and evaluate them experimentally by injecting availability traces collected from real peer-to-peer systems.