The adaptive bandwidth throttling system implements a graceful diminution of
services to the clients by delaying a first class of services provided by a network
server in response to the effective bandwidth utilized by this network server exceeding
a first threshold. If the demand for the bandwidth by this network server exceeds
a second threshold, the bandwidth throttling system escalates the throttling response
and blocks the first class of services from execution and can also concurrently
delay execution of a second class of services. The implementation of the throttling
process can be varied, to include additional levels of response or finer gradations
of the response, to include subsets of a class of services. In addition, the threshold
levels of bandwidth used to trigger the throttling response can be selected as
desired by the system administrator. Typically, once the effective bandwidth utilization
is approximately equal to the allocated bandwidth for the network server, the first
level of the hierarchical bandwidth throttling is activated. The second level of
the hierarchical bandwidth throttling is activated once the effective bandwidth
utilization exceeds the allocated bandwidth for the network server by greater than
a predetermined amount.