An ICAP service farm is a cluster of content adaptation servers through which NetCache routes requests. A NetCache appliance acts as an ICAP gateway to enable third-party functionality through ICAP service farms. All services in an ICAP service farm share the same functionality, for example, virus scanning. Each service farm, however, can support various types of the same service.
ICAP service farms are associated with a vector that designates the point at which an ICAP service is invoked. ICAP "vectors" client requests to service farms where requests and content are modified before being returned to the NetCache appliance.
The following illustration shows how NetCache vectors a client request to ICAP services.
Request and response vectors are the points at which ICAP vectoring occurs within the NetCache appliance. Vectoring points are described as follows:
Note
ICAP 1.0 forwards only HTTP and FTP content to precache response modification services (RESPMOD_PRECACHE).
Precache request modification services adapt a request on its way to the cache. An example is a filtering service that monitors Internet access to content by category and redirects unauthorized or restricted content. NetCache vectors the request to the ICAP server before it checks the cache for the requested object. The request is serviced and returned to the NetCache appliance. If the requested content exists in the cache, it has been adapted as a result of a previous request and is returned to the client. If the requested content does not exist in the cache, that is, if a cache miss occurs, the request is forwarded to the next ICAP server.
Postcache request modification services adapt a request on its way to an origin server. Content is serviced for cache misses only.
Precache response modification services adapt a response that is sent from an origin server. The ICAP server listens for ICAP requests from Web servers. The requests are scanned, and content is adapted before it is cached. Examples of these services are, virus scanning, ad insertion, and language translation.
See ICAP 1.0 servicing for client requests for an illustrated example that maps client requests through the vectoring points of an ICAP-enabled NetCache appliance.
Each ICAP service is associated with the vectoring point that is specified when the service farm is created. For example, an ordered list of services for the RESPMOD_PRECACHE vector might look like the following:
The order of invocation for services in an ICAP pipeline, for example, a pipeline that consists of both language translation and virus scanning, is determined by the relative order of the service within the list.
A load-balancing scheme for ICAP services is required; therefore, one load-balancing scheme must always be in effect. Load-balancing schemes determine which server a request is sent to, and different schemes apply to different scenarios.
Load-balancing schemes include the following:
In this scheme, the servers are accessed in rotation. Each new request is sent to the next available server, in sequence. Round robin is especially useful for filtering, for homogeneous groups of machines, and for processes that are not compute-intensive. The default load-balancing scheme is round robin.
The IP address scheme load balances using IP address hashing to ensure that a request is sent to the same ICAP service each time. This scheme can be useful for bandwidth monitoring or for advertising in order to monitor a trail through accessed sites.
The least usage scheme load balances based on a combination of service capability and the number of outstanding connections. Service capability is measured using an average data process rate, which is derived using the number of outstanding transactions for each host. The higher the average data process rate or the lower the number of outstanding transactions, the more likely it is that a service will be selected. This scheme is useful for heterogeneous groups of machines, virus checking, and compute-intensive processes with long processing times.
NetCache ACLs are used to implement policies and control access to services. ACLs must be enabled as part of configuring ICAP services, and rules must be applied to direct ICAP requests. For more information, see Controlling access to ICAP services.
Copyright © 1994-2002, Network Appliance, Inc. All rights
reserved.
Part No. 210-00263
File: icap103.htm
Last updated: 07/30/02 12:00:23