Wackamole is a tool that helps with making a cluster highly available. It manages a bunch of virtual IPs that should be available to the outside world at all times. Wackamole ensures that exactly one machine within the cluster is listening on each virtual IP address that Wackamole manages. If it discovers that particular machines within the cluster are not alive, it will almost immediately ensure that other machines acquire the virtual IP addresses the down machines were managing. At no time will more than one connected machine be responsible for any virtual IP.
Wackamole also works toward achieving a balanced distribution of the public IPs within the cluster it manages.
How it works:
Wackamole runs as root on each of the cluster's machines.
It uses the membership notifications provided by the
Spread Toolkit
, also developed in our lab,
to generate a consistent state that is agreed upon among
all of the connected Wackamole instances.
Wackamole uses this knowledge to ensure that all of the public IP addresses
served by the
cluster will be covered by exactly one Wackamole instance.
ps,
ps.gz,
pdf.
Technical Report CNDS-2001-3.
Yair Amir, Baruch Awerbuch, Claudiu Danilov, Jonathan Stanton This paper presents a flow control for multi-sender multi-group multicast and unicast in wide area overlay networks. The protocol is analytically grounded and achieves real world goals, such as simplicity, fairness and minimal resource usage. Flows are regulated based on the "opportunity" costs of network resources used and the benefit provided by the flow. In contrast to existing window-based flow control schemes, we avoid end-to-end per sender or per group feedback by looking only at the state of the virtual links between participating nodes. This produces control traffic proportional only to the number of overlay network links and independent of the number of groups, senders or receivers. We show the effectiveness of the resulting protocol through simulations and validate the simulations with live Internet experiments.
|
We plan to investigate techniques to make our overlay network architecture seamless to existing applications that use TCP/IP.