Adaptive bandwidth throttling for network services
First Claim
1. A bandwidth throttling apparatus operational in a computer system which is connected to a network having at least one network server active in said computer system wherein each of said at least one network server provides a plurality of classes of service, and wherein said at least one network server transmits servers transmitting) data via a data transmission connection from said computer system to said network at a predetermined fixed data transmission bandwidth to clients connected to said network, said bandwidth throttling apparatus comprising:
- means for determining a presently used bandwidth for each of said at least one network server by way of a data transmission rate measurement during execution of an operation for each of said at least one network server that includes;
means for storing data indicative of said data transmission rate measurement of said operation for n last most recently executed operations for each of said at least one network server, wherein n is a positive integer greater than 2; and
means for generating data indicative of an effective presently used bandwidth for each of said at least one network server wherein said effective presently used bandwidth includes an average of said data transmission rate measurement over said n last most recently executed operations;
means, responsive to said effective presently used bandwidth for one of said at least one network server that exceeds a first threshold, for effecting provision of said plurality of classes of service provided by said one of said at least one network server in a first manner; and
means, responsive to said effective presently used bandwidth for said one of said at least one network server that exceeds a second threshold that is greater than said first threshold, for effecting provision of said plurality of classes of service provided by said one of at least one network server in a second manner that differs from said first manner.
2 Assignments
0 Petitions
Accused Products
Abstract
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.
364 Citations
18 Claims
-
1. A bandwidth throttling apparatus operational in a computer system which is connected to a network having at least one network server active in said computer system wherein each of said at least one network server provides a plurality of classes of service, and wherein said at least one network server transmits servers transmitting) data via a data transmission connection from said computer system to said network at a predetermined fixed data transmission bandwidth to clients connected to said network, said bandwidth throttling apparatus comprising:
-
means for determining a presently used bandwidth for each of said at least one network server by way of a data transmission rate measurement during execution of an operation for each of said at least one network server that includes; means for storing data indicative of said data transmission rate measurement of said operation for n last most recently executed operations for each of said at least one network server, wherein n is a positive integer greater than 2; and means for generating data indicative of an effective presently used bandwidth for each of said at least one network server wherein said effective presently used bandwidth includes an average of said data transmission rate measurement over said n last most recently executed operations; means, responsive to said effective presently used bandwidth for one of said at least one network server that exceeds a first threshold, for effecting provision of said plurality of classes of service provided by said one of said at least one network server in a first manner; and means, responsive to said effective presently used bandwidth for said one of said at least one network server that exceeds a second threshold that is greater than said first threshold, for effecting provision of said plurality of classes of service provided by said one of at least one network server in a second manner that differs from said first manner. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. The apparatus of 1 wherein said first and said second thresholds for each of said at least one network server is independently settable.
-
8. A method of throttling bandwidth used by network servers, wherein said method is operational in a computer system which is connected to a network having at least one network server active in said computer system, wherein each of said at least one network server provides a plurality of classes of service, and wherein said at least one network server transmits data via a data transmission connection from said computer system to said network at a predetermined fixed data transmission bandwidth to clients connected to said network, said method comprising:
-
determining a presently used bandwidth for each of said at least one network server by way of a data transmission rate measurement during execution of an operation for each of said at least one network server that includes; storing data indicative of said data transmission rate measurement of said operation for n last most recently executed operations for each of said at least one network server, wherein n is a positive integer greater than 2; and generating data indicative of an effective presently used bandwidth for each of said at least one network server wherein said effective presently used bandwidth includes an average of said data transmission rate measurement over said n last most recently executed operations; effecting provision of said plurality of classes of service provided by one of said at least one network server in a first manner, in response to said effective presently used bandwidth for said one of said at least one network server that exceeds a first threshold; and effecting provision of said plurality of classes of service provided by said one of said at least one network server in a second manner that differs from said first manner, in response to said effective presently used bandwidth for said one of said at least one network server that exceeds a second threshold that is greater than said first threshold. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A service regulating apparatus operational in a processor which is connected to a packet switched network and having a plurality of network servers concurrently active in said processor, said network servers transmitting data to requesting clients which are connected to said network via a data transmission connection from said processor to said network, which data transmission connection has a predetermined fixed data transmission bandwidth, comprising:
-
means for storing data indicative of a predetermined allocated data transmission bandwidth for each of said network servers, each of said network servers providing a plurality of classes of service; means for determining an effective bandwidth for each of said network servers, comprising; means for calculating a bandwidth for each operation performed by each of said network servers, means for tabulating a count of bandwidth used by each of said network servers in each of a plurality of last time intervals, means for averaging said tabulated count of bandwidth to obtain a value indicative of said effective bandwidth; means, responsive to said effective bandwidth for a one of said network servers substantially corresponding to said predetermined allocated data transmission bandwidth for said one network server, for delaying a first subset of said plurality of classes of service provided by said one network server; and means, responsive to said effective bandwidth for said one network server exceeding said predetermined allocated data transmission bandwidth for said one network server, for rejecting requests for said first subset of classes of service provided by said one network server and for delaying service for a second subset of said plurality of classes of service provided by said one network server.
-
-
16. A method of throttling bandwidth used by network servers, wherein said method is operational in a processor which is connected to a packet switched network and having a plurality of network servers concurrently active in said processor, said network servers transmitting data to requesting clients which are connected to said network via a data transmission connection from said processor to said network, which data transmission connection has a predetermined fixed data transmission bandwidth, said method comprising the steps of:
-
storing data indicative of a predetermined allocated data transmission bandwidth for each of said network servers, each of said network servers providing a plurality of classes of service; determining an effective bandwidth for each of said network servers, comprising; calculating a bandwidth for each operation performed by each of said network servers, tabulating a count of bandwidth used by each of said network servers in each of a plurality of last time intervals, averaging said tabulated count of bandwidth to obtain a value indicative of said effective bandwidth; delaying, in response to said effective bandwidth for a one of said network servers substantially corresponding to said predetermined allocated data transmission bandwidth for said one network server, for delaying a first subset of said plurality of classes of service provided by said one network server; and rejecting, in response to said effective bandwidth for said one network server exceeding said predetermined allocated data transmission bandwidth for said one network server, requests for said first subset of classes of service provided by said one network server and for delaying service for a second subset of said plurality of classes of service provided by said one network server.
-
-
17. A bandwidth throttling apparatus operational in a computer system connected to a network, said network having a plurality of network servers and at least one network client, said plural of network servers being operational to transmit data via a data transmission connection from said computer system to said network having a predetermined fixed data transmission bandwidth to requesting clients which are connected to said network, said apparatus comprising:
-
means for determining a presently used bandwidth for each of said plurality of network servers by way of a data transmission rate measurement taken during execution of an operation for each of said plurality of network servers that includes; first means for storing data indicative of a predetermined allocated data transmission bandwidth for each of said plurality of network servers; and second means for using data indicative of a first threshold, wherein said first threshold includes an indication of a differential from said predetermined allocated data transmission bandwidth for each of said plurality of network servers; and means, for effecting provision of said plurality of classes of service provided by a first one of said plurality of network servers in a manner individually defined for each of a plurality of successively greater thresholds in response to said effective presently used bandwidth of said first one of said plurality of network servers exceeding one of said plurality of successively greater thresholds, wherein said manner defined for said first one of said plurality of network servers differs from every other manner defined for other ones of said plurality of network servers.
-
-
18. A method in a computer system for throttling bandwidth used by a plurality of network servers and at least one network client in a network, said plurality of network servers being operational to transmit data via a data transmission connection that has a maximum data transmission bandwidth from said computer system to said network and to requesting ones of said at least one network client that are connected to said network, said method comprising:
-
determining a presently used bandwidth for each of said plurality of network servers by way of a data transmission rate measurement taken during execution of an operation for each of said plurality of network servers, said step of determining includes; first step of storing data indicative of a predetermined allocated data transmission bandwidth for each of said plurality of network servers; and second step of storing data indicative of a first threshold, wherein said first threshold includes an indication of a differential from said predetermined allocated data transmission bandwidth for each of said plurality of network servers; and effecting provision of said plurality of classes of service provided by a first one of said plurality of network servers in a manner that is individually defined for a plurality of successively greater thresholds in response to said effective presently used bandwidth of said first one of said plurality of network servers exceeding one of said plurality of successively greater thresholds, wherein said manner defined for said first one of said plurality of network servers differs from every other manner defined for other ones of said plurality of network servers.
-
Specification