Although our discussion thus far has focused almost exclusively
on Web servers, NSA HTTP is actually implemented using a general-purpose
architecture that can be applied to essentially any networking server. The
architecture provides a generic framework (hereafter referred to
as the "NSA framework") that enables efficient
processing of network requests. A complete solution is realized
by adding to the NSA framework support for one or more specific
application-layer protocols, such as HTTP. The NSA framework provides transparency
to user space applications by creating an instance of the accelerator
whenever an application listens on a particular port.
The NSA framework's generic functionality is implemented
as an extension of socket layer. It provides the following three
functions:
Connection management
Streams caching
Mechanism to forward requests it cannot satisfy
(such as requests for data not in the cache) to the user space application
The HTTP-specific portion of NSA HTTP consists of the following
components:
HTTP data cache
HTTP protocol processing routines
The HTTP-specific portion of NSA HTTP is implemented as a
DLKM module. In addition, the /usr/bin/nsahttp utility is provided
to configure and administer NSA HTTP. For a detailed description
of the utility, refer to the nsahttp(1) man page.
The NSA HTTP product is supported on HP-UX 11i and is available
at no cost from http://www.software.hp.com.