A cluster of devices is provided that shares a domain name and functions
as the authoritative name server for the domain. Each device or node in
the cluster would typically repeatedly announce status information to all
the other nodes in the cluster, such that all the nodes in the cluster
are aware of the status information of all other nodes. One of the nodes
in the cluster would be designated as a master node. The master node
would be assigned an IP address as an authoritative name server, and as
such would receive DNS queries for the domain. The master node would
select one of the nodes in the cluster to communicate with the client as
a result of the DNS query, using the status information of each of the
nodes to balance the load on the nodes. The master node would communicate
the IP address of the selected node.