A method for providing Internet protocol (IP) addresses with a domain name server
(DNS) for multiple web servers of an Internet host. In one embodiment, each web
server of an Internet host having multiple web servers is assigned a relative weight
based on the individual processing power of the particular web server. As DNS resolution
requests are received from client domains, the DNS returns IP addresses for the
web servers such that the total number of times that each IP address of the web
server is returned is proportional to the relative weight of each server relative
to the total weight of all the servers. In another embodiment, the client domains
that have most frequently accessed the web servers according to recent web server
access logs are identified. In addition, the total number of accesses of each client
domain is considered such that static arrays may be constructed to apportion the
web servers among the client domains that most frequently access the web servers.
As such, each of the client domains that most frequently access the web servers
are assigned to a particular web server such that the percentage of requests served
by each particular web server is proportional to the relative weight of that web
server. In doing so, the probability of a load imbalance between the web servers
is reduced.