A distributed gateway for controlling computer network data traffic
dynamically reconfigures traffic assignments among multiple gateway
machines for increased network availability. If one of the distributed
gateway machines becomes unavailable, traffic assignments are moved among
the multiple machines such that network availability is substantially
unchanged. The machines of the distributed gateway form a cluster and
communicate with each other using a Group Membership protocol word such
that automatic, dynamic traffic assignment reconfiguration occurs in
response to machines being added and deleted from the cluster, with no
loss in functionality for the gateway overall, in a process that is
transparent to network users, thereby providing a distributed gateway
functionality that is scalable. Operation of the distributed gateway
remains consistent as machines are added and deleted from the cluster. A
scalable, distributed, highly available, load balancing network gateway
is thereby provided, having multiple machines that function as a front
server layer between the network and a back-end server layer having
multiple machines functioning as Web file servers, FTP servers, or other
application servers. The front layer machines comprise a server cluster
that performs fail-over and dynamic load balancing for both server
layers.