Providing a routing framework for facilitating dynamic workload scheduling and routing of message queues for fair management of resources for application servers in an on-demand services environment
First Claim
1. A database system-implemented method comprising:
- receiving, by the database system, a request from a tenant of a plurality of tenants in a multi-tenant environment, wherein the request includes a thread request for performance of a job request on behalf of the tenant, wherein the tenant is competing with other tenants for resources for performance of the job request;
consulting, by the database system, a routing policy associated with the tenant to determine a tier classification of the tenant, wherein the tier classification to identify whether the tenant is classified as a high-tiered tenant or a low-tiered tenant;
selecting, by the database system, a queue from a plurality of queues to facilitate the performance of the job request for the tenant based on the tier classification of the tenant to ensure equitable distribution of the resources, wherein each queue of the plurality of queues is assigned a tier from a plurality of tiers;
routing, by the database system, the job request to the selected queue;
monitoring, by the database system, the plurality of tenants after routing the job request to the selected queue to determine whether the tenant is starving for the resources; and
determining, by the database system, whether the selected queue is a highest tier queue,wherein, if the tenant is classified as the high-tiered tenant and the selected queue is the highest tier queue, demoting an offending tenant from using the selected queue to a lower tier queue,wherein, if the tenant is classified as the low-tiered tenant and the selected queue is not the highest tier queue, the tenant is temporarily promoted to use a higher tier queue,wherein the tenant is classified as the high-tiered tenant based on at least one of a sufficient amount of credit being associated with the tenant, not being on the list of offender tenants, and requiring a low amount of the resources, andwherein the highest tier queue has little or no wait time.
1 Assignment
0 Petitions
Accused Products
Abstract
In accordance with embodiments, there are provided mechanisms and methods for facilitating dynamic workload scheduling and routing of message queues for fair management of the resources for application servers in an on-demand services environment. In one embodiment and by way of example, a method includes detecting an organization of a plurality of organization that is starving for resources. The organization may be seeking performance of a job request at a computing system within a multi-tenant database system. The method may further include consulting, based on a routing policy, a routing table for a plurality of queues available for processing the job request, selecting a queue of the plurality of queues for the organization based on a fair usage analysis obtained from the routing policy, and routing the job request to the selected queue.
163 Citations
15 Claims
-
1. A database system-implemented method comprising:
-
receiving, by the database system, a request from a tenant of a plurality of tenants in a multi-tenant environment, wherein the request includes a thread request for performance of a job request on behalf of the tenant, wherein the tenant is competing with other tenants for resources for performance of the job request; consulting, by the database system, a routing policy associated with the tenant to determine a tier classification of the tenant, wherein the tier classification to identify whether the tenant is classified as a high-tiered tenant or a low-tiered tenant; selecting, by the database system, a queue from a plurality of queues to facilitate the performance of the job request for the tenant based on the tier classification of the tenant to ensure equitable distribution of the resources, wherein each queue of the plurality of queues is assigned a tier from a plurality of tiers; routing, by the database system, the job request to the selected queue; monitoring, by the database system, the plurality of tenants after routing the job request to the selected queue to determine whether the tenant is starving for the resources; and determining, by the database system, whether the selected queue is a highest tier queue, wherein, if the tenant is classified as the high-tiered tenant and the selected queue is the highest tier queue, demoting an offending tenant from using the selected queue to a lower tier queue, wherein, if the tenant is classified as the low-tiered tenant and the selected queue is not the highest tier queue, the tenant is temporarily promoted to use a higher tier queue, wherein the tenant is classified as the high-tiered tenant based on at least one of a sufficient amount of credit being associated with the tenant, not being on the list of offender tenants, and requiring a low amount of the resources, and wherein the highest tier queue has little or no wait time. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A database system comprising:
-
a computing device having a processor and memory, wherein the computing device employs a mechanism to perform one or more operations comprising; receiving a request from a tenant of a plurality of tenants in a multi-tenant environment, wherein the request includes a thread request for performance of a job request on behalf of the tenant, wherein the tenant is competing with other tenants for resources for performance of the job request; consulting a routing policy associated with the tenant to determine a tier classification of the tenant, wherein the tier classification to identify whether the tenant is classified as a high-tiered tenant or a low-tiered tenant; selecting a queue from a plurality of queues to facilitate the performance of the job request for the tenant based on the tier classification of the tenant to ensure equitable distribution of the resources, wherein each queue of the plurality of queues is assigned a tier from a plurality of tiers; routing the job request to the selected queue; monitoring, by the database system, the plurality of tenants after routing the job request to the selected queue to determine whether the tenant is starving for the resources; and determining, by the database system, whether the selected queue is a highest tier queue, wherein, if the tenant is classified as the high-tiered tenant and the selected queue is the highest tier queue, demoting an offending tenant from using the selected queue to a lower tier queue, wherein, if the tenant is classified as the low-tiered tenant and the selected queue is not the highest tier queue, the tenant is temporarily promoted to use a higher tier queue, wherein the tenant is classified as the high-tiered tenant based on at least one of a sufficient amount of credit being associated with the tenant, not being on the list of offender tenants, and requiring a low amount of the resources, and wherein the highest tier queue has little or no wait time. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A non-transitory machine-readable medium having stored thereon instructions which, when executed by a machine, cause the machine to perform one or more operations comprising:
-
receiving a request from a tenant of a plurality of tenants in a multi-tenant environment, wherein the request includes a thread request for performance of a job request on behalf of the tenant, wherein the tenant is competing with other tenants for resources for performance of the job request; consulting a routing policy associated with the tenant to determine a tier classification of the tenant, wherein the tier classification to identify whether the tenant is classified as a high-tiered tenant or a low-tiered tenant; selecting a queue from a plurality of queues to facilitate the performance of the job request for the tenant based on the tier classification of the tenant to ensure equitable distribution of the resources, wherein each queue of the plurality of queues is assigned a tier from a plurality of tiers; routing the job request to the selected queue; monitoring, by the database system, the plurality of tenants after routing the job request to the selected queue to determine whether the tenant is starving for the resources; and determining, by the database system, whether the selected queue is a highest tier queue, wherein, if the tenant is classified as the high-tiered tenant and the selected queue is the highest tier queue, demoting an offending tenant from using the selected queue to a lower tier queue, wherein, if the tenant is classified as the low-tiered tenant and the selected queue is not the highest tier queue, the tenant is temporarily promoted to use a higher tier queue, wherein the tenant is classified as the high-tiered tenant based on at least one of a sufficient amount of credit being associated with the tenant, not being on the list of offender tenants, and requiring a low amount of the resources, and wherein the highest tier queue has little or no wait time. - View Dependent Claims (12, 13, 14, 15)
-
Specification