Tenant selection in quota enforcing request admission mechanisms for shared applications
First Claim
1. A computer-implemented method for selecting requests from a plurality of tenant queues in a multi-tenant system, the method being executed using one or more processors and comprising:
- determining, by the one or more processors, a plurality of weights based on an initial set of weights provided at a beginning of a period, each weight being associated with a respective tenant in a set of tenants that share an application server instance executed by the multi-tenant system, which comprises an application server system;
receiving, by the one or more processors, a measured average response time and a measured throughput for each tenant in the set of tenants;
determining, by the one or more processors, a total of average response times for all tenants, an average response time error for the respective tenant, and a throughput error for the respective tenant based on the measured average response time, the measured throughput and a service level agreement that defines an average response time to process a quota comprising a maximum number of requests the respective tenant is allowed to send during each iteration to have a guaranteed quality of service;
dynamically adjusting, by the one or more processors, each weight based on the average response time error, the throughput error for the respective tenant, and the total of average response times for all tenants;
selecting, by the one or more processors, a tenant from the set of tenants based on the plurality of weights to provide a selected tenant; and
transmitting, by the one or more processors, a request from a request queue associated with the selected tenant for processing by a dedicated shared resource, which is isolated from other dedicated shared resources, associated with other tenants within the multi-tenant system, with regard to performance and data privacy.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and computer-readable storage media for selecting requests from a plurality of tenant queues in a multi-tenant system including actions of determining a plurality of weights, each weight being associated with a respective tenant in a set of tenants, each weight being dynamically adjusted based on a quota associated with the respective tenant for each iteration of a plurality of iterations within a period, selecting a tenant from the set of tenants based on the plurality of weights to provide a selected tenant, and transmitting a request from a request queue associated with the selected tenant for processing by a shared resource.
31 Citations
20 Claims
-
1. A computer-implemented method for selecting requests from a plurality of tenant queues in a multi-tenant system, the method being executed using one or more processors and comprising:
-
determining, by the one or more processors, a plurality of weights based on an initial set of weights provided at a beginning of a period, each weight being associated with a respective tenant in a set of tenants that share an application server instance executed by the multi-tenant system, which comprises an application server system; receiving, by the one or more processors, a measured average response time and a measured throughput for each tenant in the set of tenants; determining, by the one or more processors, a total of average response times for all tenants, an average response time error for the respective tenant, and a throughput error for the respective tenant based on the measured average response time, the measured throughput and a service level agreement that defines an average response time to process a quota comprising a maximum number of requests the respective tenant is allowed to send during each iteration to have a guaranteed quality of service; dynamically adjusting, by the one or more processors, each weight based on the average response time error, the throughput error for the respective tenant, and the total of average response times for all tenants; selecting, by the one or more processors, a tenant from the set of tenants based on the plurality of weights to provide a selected tenant; and transmitting, by the one or more processors, a request from a request queue associated with the selected tenant for processing by a dedicated shared resource, which is isolated from other dedicated shared resources, associated with other tenants within the multi-tenant system, with regard to performance and data privacy. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations for selecting requests from a plurality of tenant queues in a multi-tenant system, the operations comprising:
-
determining a plurality of weights based on an initial set of weights provided at a beginning of a period, each weight being associated with a respective tenant in a set of tenants that share an application server instance executed by the multi-tenant system, which comprises an application server system; receiving a measured average response time and a measured throughput for each tenant in the set of tenants; determining a total of average response times for all tenants, an average response time error for the respective tenant, and a throughput error for the respective tenant based on the measured average response time, the measured throughput and a service level agreement that defines an average response time to process a quota comprising a maximum number of requests the respective tenant is allowed to send during each iteration to have a guaranteed quality of service; dynamically adjusting each weight based on the average response time error, the throughput error for the respective tenant, and the total of average response times for all tenants; selecting a tenant from the set of tenants based on the plurality of weights to provide a selected tenant; and transmitting a request from a request queue associated with the selected tenant for processing by a dedicated shared resource, which is isolated from other dedicated shared resources, associated with other tenants within the multi-tenant system, with regard to performance and data privacy. - View Dependent Claims (14, 15, 16)
-
-
17. A system, comprising:
-
a computing device; and a computer-readable storage device coupled to the computing device and having instructions stored thereon which, when executed by the computing device, cause the computing device to perform operations for selecting requests from a plurality of tenant queues in a multi-tenant system, the operations comprising; determining a plurality of weights based on an initial set of weights provided at a beginning of a period, each weight being associated with a respective tenant in a set of tenants that share an application server instance executed by the multi-tenant system, which comprises an application server system; receiving a measured average response time and a measured throughput for each tenant in the set of tenants; determining a total of average response times for all tenants, an average response time error for the respective tenant, and a throughput error for the respective tenant based on the measured average response time, the measured throughput and a service level agreement that defines an average response time to process a quota comprising a maximum number of requests the respective tenant is allowed to send during each iteration to have a guaranteed quality of service; dynamically adjusting each weight based on the average response time error, the throughput error for the respective tenant, and the total of average response times for all tenants; selecting a tenant from the set of tenants based on the plurality of weights to provide a selected tenant; and transmitting a request from a request queue associated with the selected tenant for processing by a dedicated shared resource, which is isolated from other dedicated shared resources, associated with other tenants within the multi-tenant system, with regard to performance and data privacy. - View Dependent Claims (18, 19, 20)
-
Specification