Methods and apparatus for hosting a network service on a cluster of
servers, each including a primary and a secondary Internet Protocol (IP)
address. A common cluster address is assigned as the secondary address to
each of the servers in the cluster. The cluster address may be assigned in
UNIX-based servers using an ifconfig alias option, and may be a ghost IP
address that is not used as a primary address by any server in the
cluster. Client requests directed to the cluster address are dispatched
such that only one of the servers of the cluster responds to a given
client request. The dispatching may use a routing-based technique, in
which all client requests directed to the cluster address are routed to a
dispatcher connected to the local network of the server cluster. The
dispatcher then applies a hash function to the client IP address in order
to select one of the servers to process the request. The dispatching may
alternatively use a broadcast-based technique, in which a router
broadcasts client requests having the cluster address to all of the
servers of the cluster over a local network. The servers then each provide
a filtering routine, which may involve comparing a server identifier with
a hash value generated from a client address, in order to ensure that only
one server responds to each request broadcast by the router.
Metodi ed apparecchio per ospitare un servizio di rete di una serie di ingranaggi degli assistenti, ciascuno compreso un indirizzo primario e secondario di Internet Protocol (IP). Un indirizzo comune della serie di ingranaggi è assegnato come l'indirizzo secondario a ciascuno degli assistenti nella serie di ingranaggi. L'indirizzo della serie di ingranaggi può essere assegnato in assistenti UNIX-BASATI usando un'opzione del ifconfig altrimenti detto e può essere un IP address del fantasma che non è usato come indirizzo primario da alcun assistente nella serie di ingranaggi. Le richieste del cliente dirette verso l'indirizzo della serie di ingranaggi sono spedite tali che soltanto uno degli assistenti della serie di ingranaggi risponde ad una data richiesta del cliente. Spedire può usare una tecnica percorso-basata, in cui tutte le richieste del cliente dirette verso l'indirizzo della serie di ingranaggi sono dirette ad uno spedizioniere collegato alla rete locale della serie di ingranaggi dell'assistente. Lo spedizioniere allora applica una funzione del hash al IP address del cliente per selezionare uno degli assistenti per procedere la richiesta. Spedire può usare alternativamente una tecnica trasmett per radio-basata, in cui un router trasmette per radio le richieste del cliente che hanno l'indirizzo della serie di ingranaggi a tutti gli assistenti della serie di ingranaggi su una rete locale. Gli assistenti allora ciascuno forniscono una procedura di filtrazione, che può coinvolgere paragonare un contrassegno dell'assistente ad un valore del hash generato da un indirizzo del cliente, per accertarsi che soltanto un assistente risponda ad ogni radiodiffusione di richiesta dal router.