Library Table of Contents Index Previous Next Comments

How the appliance works

Direct access to cached data  Top

The NFS-enabled appliance caches and serves data to clients that are remote from an administrative data center. A file block is read through the network and cached. Subsequent requests for that file are then served from the appliance. Consequently, clients in remote locations are provided with direct access to cached data. This eliminates the requirement for client requests to travel repeatedly across the network to fetch the same file.

Cache hits and misses  Top

When a client makes a read request, if the object or relevant block is located in the cache, a cache hit is served from the appliance. Cache hits are the result of a previous request. If a cache hit is served, the appliance generates a response and sends it to the client. If a locate fails (cache miss), the appliance uses the response from the origin server to load the object into the cache, then serves a response to the client.

A cache miss can be one of the following:

The following illustration maps a client request through a cache hit, cache miss sequence.

The following table describes the flow of the client request shown in the preceding illustration.

Stage

Description

1

The client makes a request for content to the appliance.

2

The appliance checks its cached objects for the requested content.

    1. If the request for content is a cache hit (that is, if the data exists in the cache), the cached object is served to the local client.
    2. If the request for content is a cache miss (that is, if the data does not exist in the cache), the appliance then acts as a client to fetch the object from the file server.
3

The file server satisfies the request for content and returns it to the appliance where the object is cached and served to the client.

Cache consistency  Top

The appliance verifies object attributes prior to serving a request based on maximum age or schedules. Validation occurs at the file level, and cached data is validated when the appliance discovers that file attributes have changed. When source file attributes change, the file is ejected from the cache. This means that if one block of a hundred-block file has been modified, the appliance ejects the entire file.

The maximum time for the appliance to serve a hit on a cached object without issuing a request to the origin server is a configurable option that is defined on a per- volume basis. Validation settings can range from zero (revalidate before each hit on a cached object is served) to x amount of time (revalidate every number of minutes or hours).

If a client is reading a cached file and a second client changes the state of the file on the origin server, the appliance ejects the cached object after verifying the object attributes. The requested blocks are then fetched from the origin server, the object is cached, and the appliance serves the client response.

Library Table of Contents Index Previous Next Comments