APPLICATION LEVEL BASED RESOURCE MANAGEMENT IN MULTI-TENANT APPLICATIONS
First Claim
1. A system including instructions recorded on a computer-readable storage device and executable by at least one processor, the system comprising:
- multiple tenant queues, wherein each of the queues is associated with a single tenant and each of the queues is configured to queue one or more requests from its respective single tenant;
one or more processing nodes, the processing nodes comprising one or more shared resources for processing the requests queued in the multiple tenant queues;
a first feedback loop that is operably coupled to an output of the processing nodes, wherein the first feedback loop is configured to determine a resource demand for each of the tenants; and
an admission controller that is operably coupled to the tenant queues, the processing nodes and the first feedback loop, wherein the admission controller is configured to;
calculate an actual utilization value of a shared resource for each of the tenants using the resource demand for each request type of the tenants from the first feedback loop, andcontrol processing of the requests by the processing nodes from each of the tenant queues based on a reference value for each of the tenants received by the admission controller and the actual utilization value of a shared resource for each of the tenants, wherein the reference value represents an allowed utilization for each of the tenants.
2 Assignments
0 Petitions
Accused Products
Abstract
A system includes multiple tenant queues, where each of the queues is associated with a single tenant is configured to queue one or more requests from its respective single tenant. One or more processing nodes have one or more shared resources for processing the requests queued in the multiple tenant queues. A first feedback loop is configured to determine a resource demand for each of the tenants. An admission controller is configured to calculate an actual utilization value of a shared resource for each of the tenants using the knowledge of resource demands for each of the tenants request from the first feedback loop and control processing of the requests from each of the tenant queues based on a reference value for each of the tenants and the actual utilization value of a shared resource for each of the tenants, where the reference value represents an allowed utilization for each of the tenants.
56 Citations
24 Claims
-
1. A system including instructions recorded on a computer-readable storage device and executable by at least one processor, the system comprising:
-
multiple tenant queues, wherein each of the queues is associated with a single tenant and each of the queues is configured to queue one or more requests from its respective single tenant; one or more processing nodes, the processing nodes comprising one or more shared resources for processing the requests queued in the multiple tenant queues; a first feedback loop that is operably coupled to an output of the processing nodes, wherein the first feedback loop is configured to determine a resource demand for each of the tenants; and an admission controller that is operably coupled to the tenant queues, the processing nodes and the first feedback loop, wherein the admission controller is configured to; calculate an actual utilization value of a shared resource for each of the tenants using the resource demand for each request type of the tenants from the first feedback loop, and control processing of the requests by the processing nodes from each of the tenant queues based on a reference value for each of the tenants received by the admission controller and the actual utilization value of a shared resource for each of the tenants, wherein the reference value represents an allowed utilization for each of the tenants. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-implemented method for executing instructions stored on a computer-readable storage device, the method comprising:
-
receiving one or more requests from multiple tenant queues, wherein each of the queues is associated with a single tenant and each of the queues is configured to queue one or more requests from its respective single tenant; processing the requests queued in the multiple tenant queues by one or more processing nodes, wherein the processing nodes comprise one or more shared resources; determining a resource demand for each of the tenants by a first feedback loop that is operably coupled to an output of the processing nodes; calculating an actual utilization value of a shared resource for each of the tenants by an admission controller using the resource demand for each of the tenants; and controlling processing of the requests by the processing nodes from each of the tenant queues by the admission controller based on a reference value for each of the tenants received by the admission controller and the actual utilization value of a shared resource for each of the tenants, wherein the reference value represents an allowed utilization for each of the tenants. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer program product, the computer program product being tangibly embodied on a computer-readable storage device and comprising instructions that, when executed, are configured to:
-
receive one or more requests from multiple tenant queues, wherein each of the queues is associated with a single tenant and each of the queues is configured to queue one or more requests from its respective single tenant; process the requests queued in the multiple tenant queues by one or more processing nodes, wherein the processing nodes comprise one or more shared resources; determine a resource demand for each of the tenants by a first feedback loop that is operably coupled to an output of the processing nodes; calculate an actual utilization value of a shared resource for each of the tenants by an admission controller using the resource demand for each of the tenants; and control processing of the requests by the processing nodes from each of the tenant queues by the admission controller based on a reference value for each of the tenants received by the admission controller and the actual utilization value of a shared resource for each of the tenants, wherein the reference value represents an allowed utilization for each of the tenants. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification