Automatic enforcement of service-level agreements for providing services over a network
First Claim
Patent Images
1. A method of enabling automatic enforcement of Service Level Agreements (SLAs) in a client-server arrangement over a network, between customers running at least one application utilizing a software service provided by a service provider, said method comprising:
- intercepting service requests for said software service from users of said customers to a server of said service provider;
automatically collecting usage statistics on each of said users, wherein said usage statistics comprise at least one of distribution of said requests, number of said requests, and frequency of said requests;
aggregating said usage statistics from said users on a per-customer basis to determine current per-customer usage statistics, wherein each of said customers comprises at least one user;
computing and adjusting allocations of said software service to each of said customers, wherein each allocation to each customer is based on said current per-customer usage statistics, on usage metrics that are specified in a service level agreement with said customer, and on a service capacity of said software service, wherein said service capacity comprises a rate of requests supportable by said server; and
controlling usage of said software service by said customers based on said allocations, wherein said controlling of said usage of said software service further comprises;
queuing said service requests from said customers that exceed said allocations;
dispatching said service requests from said queue to said server at a configurable dispatch rate; and
,modifying said dispatch rate for each of said customers.
3 Assignments
0 Petitions
Accused Products
Abstract
The invention deals with the enforcement of Service Level Agreement for the services provided over a client-server network. The invention discloses a method, system and a program product for automatic enforcement of SLAs. This is achieved by automatic metering of requests for service and allocation of resources of the server based on the SLA, current available resources and the needs of the customer.
77 Citations
26 Claims
-
1. A method of enabling automatic enforcement of Service Level Agreements (SLAs) in a client-server arrangement over a network, between customers running at least one application utilizing a software service provided by a service provider, said method comprising:
-
intercepting service requests for said software service from users of said customers to a server of said service provider; automatically collecting usage statistics on each of said users, wherein said usage statistics comprise at least one of distribution of said requests, number of said requests, and frequency of said requests; aggregating said usage statistics from said users on a per-customer basis to determine current per-customer usage statistics, wherein each of said customers comprises at least one user; computing and adjusting allocations of said software service to each of said customers, wherein each allocation to each customer is based on said current per-customer usage statistics, on usage metrics that are specified in a service level agreement with said customer, and on a service capacity of said software service, wherein said service capacity comprises a rate of requests supportable by said server; and controlling usage of said software service by said customers based on said allocations, wherein said controlling of said usage of said software service further comprises; queuing said service requests from said customers that exceed said allocations; dispatching said service requests from said queue to said server at a configurable dispatch rate; and
,modifying said dispatch rate for each of said customers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A program storage device readable by machine, tangibly embodying a program of instructions executable by said machine to perform a method enabling automatic enforcement of a service level agreement in a system in a client-server arrangement over a network, between customers running at least one application utilizing a software service provided by a service provider, said method comprising:
-
intercepting service requests for said software service from users of said customers to a server of said service providers; automatically collecting usage statistics on each of said users, wherein said usage statistics comprise at least one of distribution of said requests, number of said requests, and frequency of said requests; aggregating said usage statistics from said users on a per-customer basis to determine current per-customer usage statistics, wherein each of said customers comprises at least one user; computing and adjusting allocations of said software service to each of said customers, wherein each allocation to each customer is based on said current per-customer usage statistics, on usage metrics that are specified in a service level agreement with said customer, and on a service capacity of said software service, wherein said service capacity comprises a rate of requests supportable by said software service; and controlling usage of said software service by said customers based on said allocations, wherein said controlling of said usage of said software service further comprises; queuing said service requests from said customers that exceed said allocations; dispatching said service requests from said queue to said server at a configurable dispatch rate; and
,modifying said dispatch rate for each of said customers. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
Specification