Method and system for controlling work request queue in a multi-tenant cloud computing environment
US-8949839-B2 · Feb 3, 2015 · US
US9348648B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9348648-B2 |
| Application number | US-201313841649-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 15, 2013 |
| Priority date | Sep 12, 2012 |
| Publication date | May 24, 2016 |
| Grant date | May 24, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 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. 2. The method of claim 1 , further comprising maintaining, by the database system, a routing table based on the routing policy, wherein the routing table comprises a schedule framework of message routing traffic, and wherein the routing policy includes guidelines for routing the message queue traffic for the plurality of tenants. 3. The method of claim 2 , wherein the guidelines comprise information relating to one or more of multi-tenant policy decisions, wherein the information includes a list of healthy and unhealthy brokers, a list of healthy and unhealthy worker nodes, a list of allowed and disallowed message types, a list of routing priority levels of the plurality of tenants, a list of competing tenants, a list of threshold amounts of the resources assigned to one or more of the message types, the plurality of tenants, the brokers, and the worker nodes. 4. The method of claim 1 , further comprising obtaining, by the database system, fair usage analysis from the routing policy, wherein the fair usage analysis comprises tenant-based information including one or more of a list of offender tenants that have overused a fair allocation of their resources, an amount of credit associated with each tenant, and a list of tenants associated with requesting high resource-consuming jobs. 5. The method of claim 1 , wherein the job request is submitted by a computing device accessible to a user associated with the tenant, wherein the computing device includes a client computing device communicatively coupled with a server computing device over a network including a cloud network. 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. 7. The database system of claim 6 , wherein the operations further comprise maintaining a routing table based on the routing policy, wherein the routing table comprises a schedule framework of message routing traffic, and wherein the routing policy includes guidelines for routing the message queue traffic for the plurality of tenants. 8. The database system of claim 7 , wherein the guidelines comprise information relating to one or more of multi-tenant policy decisions, wherein the information includes a list of healthy and unhealthy brokers, a list of healthy and unhealthy worker nodes, a list of allowed and disallowed message types, a list of routing priority levels of the plurality of tenants, a list of competing tenants, a list of threshold amounts of the resources assigned to one or more of the message types, the plurality of tenants, the brokers, and the worker nodes. 9. The database system of claim 6 , wherein the operations further comprise obtaining fair usage analysis from the routing policy, wherein the fair usage analysis comprises tenant-based information including one or more of a list of offender tenants that have overused a fair allocation of their resources, an amount of credit associated with each tenant, and a list of tenants associated with requesting high resource-consuming jobs. 10. The database system of claim 6 , wherein the job request is submitted by a computing device accessible to a user associated with the tenant, wherein the computing device includes a client computing device communicatively coupled with a server computing device over a network including a cloud network. 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 t
by quorum, i.e. whereby two or more security principals are required · CPC title
Decision processes by autonomous network management units using voting and bidding · CPC title
Queue scheduling · CPC title
Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters · CPC title
Admission control; Resource allocation · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.