Method and apparatus for policy based class service and adaptive service level management within the context of an internet and intranet
First Claim
1. 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:
- grouping at least one of said plurality of back-end servers into a respective one of a plurality of service classes;
receiving a client request for host access at a front end processor;
selecting a class of service from said plurality of service classes according to at least one selected parameter of said request; and
distributing said request to a back-end server in said selected class of service according to the load of each of said at least one of said back-end servers in the selected service class.
0 Assignments
0 Petitions
Accused Products
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. A routing host is configured to receive all client requests for sites and virtual sites implemented on a plurality of service hosts or back-end servers. A monitoring processor incorporating an Adaptive Policy Engine, in communication with the router (and agents on back-end servers) dynamically monitors workload and availability of servers to enable requests to be sent to the most appropriate and optimal server. Incoming traffic is first processed to assign a class. The APE is employed to monitor the incoming traffic to the routing host. Traffic is measured to each hosted site and further, to each class of a hosted site. The APE has a rules based engine that correlates this information and uses it to come up with a dynamic, real time balancing scheme for each hosted site. The APE or policy engine in conjunction with the router then intelligently distributes incoming traffic to the most available and/or efficient server within each class or “cluster,” by using one or more of a plurality of selectable load distribution algorithms, so that service level commitments are met. Intelligent agents deployed on each of the back-end servers monitor several server attributes/parameters and report back to the policy engine at the router. Class of service (COS) involves the classification of incoming requests by the policy engine. Backend server sites are clustered into virtual user definable cluster groups. Each cluster group can be managed/designated with a particular class of service. Based on information/parameters received, the composition of the clusters can be changed dynamically so that SLA parameters or metrics are within an acceptable range. Based on its class, the connection/request will be directed to one of the clusters. The specific machine selected will depend upon the load balancing algorithm defined for the cluster or class, and implemented as a function of the parameters reported to the policy engine, for making load balancing decisions.
-
Citations
11 Claims
-
1. 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:
-
grouping at least one of said plurality of back-end servers into a respective one of a plurality of service classes;
receiving a client request for host access at a front end processor;
selecting a class of service from said plurality of service classes according to at least one selected parameter of said request; and
distributing said request to a back-end server in said selected class of service according to the load of each of said at least one of said back-end servers in the selected service class. - View Dependent Claims (2, 3)
-
-
4. A method for implementing probabilistic load balancing among a plurality of back-end servers, comprising the steps of:
-
determining the load on each of said plurality of back-end servers, including a maximum load L;
calculating the difference between the maximum load L+1 and the load of each of said plurality of back-end servers to obtain a respective value for each back-end server;
summing said respective values to obtain a value D; and
proportionally distributing the next D requests to the plurality of back-end servers based on their respective values such that more requests are routed to servers having a relatively light load.
-
-
5. A method for implementing a rules based adaptive policy engine for real-time balancing of incoming requests across a plurality of back-end servers comprising the steps of:
-
clustering said plurality of back-end servers according to class of service, each cluster having a corresponding class of service;
receiving a request characterized as belonging to a designated class of service;
checking to see if said request is a new session or an old session, where said old session has an identified back-end server and contents;
if said request is an old session, then checking to see if said identified back-end server and contents are available;
if said request is a new session, or if said identified back-end server and content are not available, running a load balancing algorithm selected for the designated class of service; and
routing said request to a back-end server within said cluster having the designated class of service, as selected by the load balancing algorithm. - View Dependent Claims (6, 7, 8)
-
-
9. A method for implementing collection of information for monitoring the performance in a cluster of web servers, comprising the steps of:
-
providing an adaptive policy engine;
deploying an intelligent agent on at least one of said plurality of web servers;
using said intelligent agent to collect information in the form of selected server attributes;
transmitting said collected information to said adaptive policy engine for use in dynamically allocate requests to selected web servers in said cluster of web servers to meet pre-defined Service Level Agreements (SLA). - View Dependent Claims (10, 11)
-
Specification