A method, computer program product, and system for migrating URL data
objects in a proxy server array when an array member is removed, added, or
temporarily unavailable. An array membership list containing array
membership information is available at each proxy server in the array and
at all enabled client that is used in conjunction with the URL as the
information for identifying the correct proxy server where the URL data
object resides. First, a deterministic hash value is computed for each
proxy server name and the URL. Next, a combined hash value is computed
that combines the URL hash value with each proxy server hash value.
Finally, the proxy server with the highest "score" or combined hash value
is identified as the proxy server where the desired URL data object should
reside in local cache storage. Since the array membership list, the URL,
and the hashing algorithm is the same at each proxy server or enabled
client, the same proxy server will be identified as having the URL data
object regardless of which proxy server originally receives or enabled
client generates the URL data object request. The hashing algorithm is
designed to automatically compensate for changes in the array membership
list so that only the fewest amount of URL data objects will migrate from
the local cache of one proxy server to another proxy server as a result of
array membership changes.