Patent ID: 7171469

Claim:
An apparatus for caching data in a network, the apparatus comprising: a proxy cache configured to receive request for an object from a client and to fetch data blocks from a server, wherein the proxy cache includes a memory; and the proxy cache configured to cache the data blocks in a hierarchical relationship within the object and as an active data set, wherein the hierarchical relationship of data blocks are stored in the memory in the proxy cache; wherein in response to a cache miss where the proxy cache does not contain a requested data block, the proxy cache determines which server stores the requested data block by using a translation table of N values and FS id values in the proxy cache, where an N value is a hash computation based on an address of a server that has the requested data block, a volume name the contains the data block, and a file name of the data block, and an FS id value is a file system identifier of a server-side file handle from the server, and wherein the proxy cache sends a file handle associated with the requested data block to the server only if the address of the server is identified by the N value, and the proxy cache will fetch the data block from the server and cache the fetched data block in the active data set so that the active data will include a content in a first time period and will include a different content in a second time period and wherein the data blocks in the active data set is updated or a data block in the active data set is flushed, in response to a cache miss.