US6728748B1
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet
Assignee: NetApp Inc
•
Filing: 1999-11-30
•
Granted: 2004-04-27
•
Expires: 2019-11-30
Abstract
Abstract A method and apparatus for robustly enhanced Class of Service (COS) at the application layer permits highly flexible privilege based access and enables implementation of complex policies and rules for classification and differentiation of services. Differentiation facilitates categorization of traffic to permit flexible design and implementation of multiple Class of Service levels.
Inventors
- 👤 Krishna Mangipudi
- 👤 Vijay Basani
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-29 23:42
CPC Classifications
H; H04; H04L; H04L41/00; H04L41/50; H04L41/5003; H04L41/5009; H04L41/08; H04L41/0893; H04L41/5019; H04L41/5025; H04L43/00; H04L43/08; H04L43/0805; H04L43/0811; H04L43/0817; H04L67/00; H04L67/01; H04L67/10; H04L67/1001; H04L67/1004; H04L67/1006; H04L67/1008; H04L67/1012; H04L67/1014; H04L67/1017; H04L67/1023; H04L69/00; H04L69/30; H04L69/32; H04L69/322; H04L69/329; H04L41/02; H04L41/0213; H04L41/06; H04L41/0604; H04L41/0894; H04L41/22; H04L43/04; H04L43/045; H04L43/06; H04L43/0823; H04L43/16; H04L67/02
Claims Analysis
Total Claims: 25
Claim 1
Independent Claim
253 words
An apparatus implementing class of service among a plurality of clients sending requests seeking access to sites on a plurality of back-end servers, comprising: a front-end processor configured to receive client requests from said plurality of clients for access to sites hosted by said plurality of back-end servers; a monitoring processor in communication with said front-end processor, monitoring availability of said plurality of back-end servers to enable said requests to be sent to a selected one of said plurality of back-end servers, wherein said monitoring processor further includes an adaptive policy engine (APE) adaptively balancing one of said plurality of back-end servers defining at least a first cluster and a second cluster, by defining a threshold setting an acceptable range for each of a plurality of service level metrics, and reconfiguring said at least said first cluster and said second cluster in response to a determination that at least one of said plurality of selected service level metrics for one of said at least said first cluster and said second cluster is not within said acceptable range; and at least one intelligent agent deployed on at least one of said plurality of back-end servers in communication with said monitoring processor and said front-end processor, said at least one intelligent agent monitoring selected server attributes and reporting status of said selected server attributes back to said monitoring processor enabling said front-end processor to direct said client requests to selected ones of said plurality of back-end servers as a function of said selected server attributes.
Claim 2
Independent Claim
253 words
An apparatus implementing class of service among a plurality of clients sending requests seeking access to sites on a plurality of back-end servers, comprising: a front-end processor configured to receive client requests from said plurality of clients for access to sites hosted by said plurality of back-end servers; a monitoring processor in communication with said front-end processor, monitoring availability of said plurality of back-end servers to enable said requests to be sent to a selected one of said plurality of back-end servers, wherein said monitoring processor further includes an adaptive policy engine (APE) adaptively balancing one of said plurality of back-end servers defining at least a first cluster and a second cluster, by defining a threshold setting an acceptable range for each of a plurality of service level metrics, and reconfiguring said at least said first cluster and said second cluster in response to a determination that at least one of said plurality of selected service level metrics for one of said at least said first cluster and said second cluster is not within said acceptable range; and at least one intelligent agent deployed on at least one of said plurality of back-end servers in communication with said monitoring processor and said front-end processor, said at least one intelligent agent monitoring selected server attributes and reporting status of said selected server attributes back to said monitoring processor enabling said front-end processor to direct said client requests to selected ones of said plurality of back-end servers as a function of said selected server attributes.
Claim 3
Dependent Claim
13 words
The apparatus of claim 1 wherein said front-end processor is a TCP router.
Claim 4
Dependent Claim
102 words
The apparatus of claim 1 wherein said at least one of said plurality of selected service level metrics is selected from a group consisting of: response time by user; URL; request; transaction type; content type; application type; service/protocol type; domain of origin; file size; online/offline status; total hits per second; CPU utilization (i.e. number of processors and percent utilization); number of processes; total open connections; disk space (i.e. disk size in bytes, bytes used, percent used, percent free); response times of back-end servers; URL/content availability; server and virtual site availability; application availability; and memory utilization (i.e. total memory, memory used, free memory).
Claim 5
Independent Claim
223 words
An apparatus implementing management service level metrics for a plurality of clients sending requests seeking access to sites on a plurality of back-end servers and enabling said requests to be sent to a selected one of said plurality of back-end servers, comprising: a front-end processing system including a front-end processor and a redundant front-end processor, wherein at least one of said front-end processor and said redundant front-end processor is configured to receive client requests from said plurality of clients for access to sites hosted by said plurality of back-end servers; an adaptive policy engine, in communication with said front-end processor, adaptively balancing ones of said plurality of back-end servers defining a first cluster and a second cluster and reconfiguring said first cluster and said second cluster in response to a determination that at least one selected server attribute for one of said first cluster and said second cluster is not within an acceptable range; and at least one intelligent agent deployed with at least one of said plurality of back-end servers, in communication with said adaptive policy engine, said at least one intelligent agent monitoring selected server attributes and reporting status of said selected server attributes to said adaptive policy engine, enabling said adaptive policy engine to reconfigure said first cluster and said second cluster as a function of said selected server attributes.
Claim 6
Independent Claim
223 words
An apparatus implementing management service level metrics for a plurality of clients sending requests seeking access to sites on a plurality of back-end servers and enabling said requests to be sent to a selected one of said plurality of back-end servers, comprising: a front-end processing system including a front-end processor and a redundant front-end processor, wherein at least one of said front-end processor and said redundant front-end processor is configured to receive client requests from said plurality of clients for access to sites hosted by said plurality of back-end servers; an adaptive policy engine, in communication with said front-end processor, adaptively balancing ones of said plurality of back-end servers defining a first cluster and a second cluster and reconfiguring said first cluster and said second cluster in response to a determination that at least one selected server attribute for one of said first cluster and said second cluster is not within an acceptable range; and at least one intelligent agent deployed with at least one of said plurality of back-end servers, in communication with said adaptive policy engine, said at least one intelligent agent monitoring selected server attributes and reporting status of said selected server attributes to said adaptive policy engine, enabling said adaptive policy engine to reconfigure said first cluster and said second cluster as a function of said selected server attributes.
Claim 7
Dependent Claim
78 words
The apparatus of claim 4 wherein said at least one selected service level metric is selected from a group consisting of: online/offline status; total hits per second; CPU utilization (i.e. number of processors and utilization); number of processes; total open connections; disk space (i.e. disk size in bytes, bytes used, percent used, percent free); response times of back-end servers; URL/content availability; server and virtual site availability; application availability; and memory utilization (i.e. total memory, memory used, free memory).
Claim 8
Dependent Claim
109 words
The apparatus of claim 1 or 4 wherein said at least one intelligent agent monitors at least one server attribute/parameter, said at least one server attribute/parameter selected from the group consisting of: response time by user; URL; request; transaction type; content type; application type; service/protocol type; domain of origin; file size; online/offline status; total hits per second; CPU utilization (i.e. number of processors and percent utilization); number of processes; total open connections; disk space (i.e. disk size in bytes, bytes used, percent used, percent free); response times of back-end servers; URL/content availability; server and virtual site availability; application availability; and memory utilization (i.e. total memory, memory used, free memory).
Claim 9
Dependent Claim
25 words
The apparatus of claim 6 wherein said at least one server attribute/parameter is reported to said front end processor via a Management Information Base (MIB).
Claim 10
Dependent Claim
19 words
The apparatus of claim 6 wherein said at least one server attribute/parameter is made available to application layer programs.
Claim 11
Dependent Claim
42 words
The apparatus of claim 1 or 4 wherein said front end processor classifies incoming requests into classes based on the Source IP address, Destination IP address, Port Number, URL, service or protocol, virtual site, transaction or request, authenticated user or cookie based.
Claim 12
Dependent Claim
53 words
The apparatus of claim 1 or 4 wherein selected ones of said plurality of back-end servers are clustered into user definable cluster groups designated with a particular class of service, and wherein a request or user is directed to one of said user definable cluster groups based on said particular class of service.
Claim 13
Dependent Claim
64 words
The apparatus of claim 10 wherein a specific machine selected from selected ones of said plurality of back-end servers is selected based upon a load balancing algorithm specified for a cluster group, and said load balancing algorithm is selected from a group consisting of weighted percentage load balancing; round robin load balancing; CPU availability load balancing; probabilistic load balancing and least connections load balancing.
Claim 14
Dependent Claim
75 words
The apparatus of claim 11 wherein said probabilistic load balancing algorithm comprises the steps of determining which of said plurality of back-end servers has a maximum load, determining an offset of each said back-end server from said maximum load, summing all of said offsets for all said back-end servers to obtain a sum, and proportionally distributing a number of said requests as a function of said offsets, where said number is equal to said sum.
Claim 15
Dependent Claim
40 words
The apparatus of claim 1 wherein said monitoring processor further includes an adaptive balancing module that balances said plurality of back-end servers in a cluster dynamically based on information/parameters received via a UDP packet and based on service level commitments.
Claim 16
Dependent Claim
31 words
The apparatus of claim 1 or 4 further including a failover capability wherein said redundant front-end processor assumes functions of said front-end processor when said front-end processor fails and vice versa.
Claim 17
Independent Claim
149 words
A method for implementing class of service among a plurality of clients sending requests seeking access to sites hosted on a plurality of back-end servers, comprising the steps of: by a front-end processing system including a front-end processor and a redundant front-end processor, receiving client requests from said plurality of clients for access to sites hosted by said plurality of back-end servers; monitoring availability of said plurality of back-end servers with a monitoring processor to enable said requests to be sent to a selected one of said plurality of back-end servers; deploying at least one intelligent agent on at least one of said plurality of back-end servers; reporting a monitored status of selected server attributes from said at least one intelligent agent back to said monitoring processor; and directing said client requests to selected ones of said plurality of back-end servers as a function of said selected server attributes.
Claim 18
Independent Claim
149 words
A method for implementing class of service among a plurality of clients sending requests seeking access to sites hosted on a plurality of back-end servers, comprising the steps of: by a front-end processing system including a front-end processor and a redundant front-end processor, receiving client requests from said plurality of clients for access to sites hosted by said plurality of back-end servers; monitoring availability of said plurality of back-end servers with a monitoring processor to enable said requests to be sent to a selected one of said plurality of back-end servers; deploying at least one intelligent agent on at least one of said plurality of back-end servers; reporting a monitored status of selected server attributes from said at least one intelligent agent back to said monitoring processor; and directing said client requests to selected ones of said plurality of back-end servers as a function of said selected server attributes.
Claim 19
Dependent Claim
79 words
The method of claim 15 in which said step of directing said client requests further comprises the steps of: defining at least a first cluster and a second cluster of back-end servers from said plurality of back-end servers; determining that at least one selected service level metric for said first cluster is not within an acceptable range for said metric; and reconfiguring said at least said first cluster and said second cluster as a result of said determining step.
Claim 20
Dependent Claim
79 words
The method of claim 16 in which said at least one selected service level metric is selected from a group consisting of: online/offline status; total hits per second; CPU utilization (i.e. number of processors and utilization); number of processes; total open connections; disk space (i.e. disk size in bytes, bytes used, percent used, percent free); response times of back-end servers; URL/content availability; server and virtual site availability; application availability; and memory utilization (i.e. total memory, memory used, free memory).
Claim 21
Independent Claim
159 words
A method for balancing client request load among a plurality of web servers comprising the steps of: classifying said plurality of web servers into clusters corresponding to at least a first class and a second class, wherein said classifying is based on user-defined policies; determining a set of service threshold levels of selected service level metrics for each of said at least said first class and said second class; monitoring said selected service level metrics for each web server; determining when a service level threshold of said selected service level metrics has been exceeded for at least one of said at least said first class and said second class; and invoking an adaptive control process to rebalance said at least said first class and said second class of said web servers by moving a web server from one to another of said at least said first class and said second class according to the monitored selected service level metrics.
Claim 22
Independent Claim
159 words
A method for balancing client request load among a plurality of web servers comprising the steps of: classifying said plurality of web servers into clusters corresponding to at least a first class and a second class, wherein said classifying is based on user-defined policies; determining a set of service threshold levels of selected service level metrics for each of said at least said first class and said second class; monitoring said selected service level metrics for each web server; determining when a service level threshold of said selected service level metrics has been exceeded for at least one of said at least said first class and said second class; and invoking an adaptive control process to rebalance said at least said first class and said second class of said web servers by moving a web server from one to another of said at least said first class and said second class according to the monitored selected service level metrics.
Claim 23
Dependent Claim
29 words
The method of claim 18 in which said adaptive control process includes a mechanism for implementing one of a plurality of load balancing algorithms as a function of class.
Claim 24
Dependent Claim
23 words
The method of claim 19 wherein said plurality of load balancing algorithms includes weighted percentage; round robin; CPU availability; least connections; and probabilistic.
Claim 25
Dependent Claim
76 words
The method of claim 20 wherein said probabilistic load balancing is a process which involves determining which of said plurality of back-end servers has a maximum load, determining an offset of each said back-end server from said maximum load, summing all of said offsets for all said back-end servers to obtain a sum, and proportionally distributing a number of said client requests as a function of said offsets, where said number is equal to said sum.
References Cited (Backward Citations)
US5951694A
Cited
US6424992B2
Cited
US5893905A
Cited
US6330602B1
Cited
US6279001B1
Cited
US6411936B1
Cited
US6453468B1
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2007-04-27 | 2007-10-27 | 2008-04-27 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2011-04-27 | 2011-10-27 | 2012-04-27 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2015-04-27 | 2015-10-27 | 2016-04-27 | $7700.00 | Window Closed / Lapsed |