Cached information that includes multiple network addresses is delivered
in a manner that changes the order of the network addresses each time the
cached information is delivered to a client, thereby achieving load
balancing in a manner that reduces network traffic and improves system
performance. In the preferred embodiments, the user defines a minimum
time to live (TTL) and one or more order change criteria. When a query is
made to a DNS, the DNS returns an answer that includes a time to live
(TTL). This answer may be stored in a cache, and may include multiple
network addresses. If the TTL for the answer received from a DNS is less
that the minimum TTL, the TTL for the answer is set to the minimum TTL
before storing the answer in the cache. When a query may be satisfied by
a cached answer that includes multiple network addresses, a cache
mechanism delivers the multiple cached network addresses in an order
determined by the one or more order change criteria if the TTL for the
cached results is a positive number. In this manner load balancing can be
achieved while still benefiting from the performance enhancements of
caching DNS query results.