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.