A method is provided for caching and delivering an alternate version from
among a plurality of alternate versions of information objects. One or
more alternate versions of an information object, for example, versions of
the information object that are prepared in different languages or
compatible with different systems, are stored in an object cache database.
In the cache, a vector of alternates is associated with a key value that
identifies the information object. The vector of alternates stores
information that describes the alternate, the context and constraints of
the object's use, and a reference to the location of the alternate's
object content. When a subsequent client request for the information
object is received, the cache extracts information from the client
request, and attempts to select an acceptable and optimal alternate from
the vector by matching the request information to the cached contextual
information in the vector of alternates. This selection is performed in a
time- and space-efficient manner. Accordingly, the cache can deliver
different versions of an information object based on the metadata and
criteria specified in a request to the cache. As a result, the information
delivered by the cache is customized for the requesting client, without
requiring access to the original object server.