Facilitating dynamic hierarchical management of queue resources in an on-demand services environment

US11082357B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11082357-B2
Application numberUS-201916694976-A
CountryUS
Kind codeB2
Filing dateNov 25, 2019
Priority dateOct 28, 2014
Publication dateAug 3, 2021
Grant dateAug 3, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In accordance with embodiments, there are provided mechanisms and methods for facilitating dynamic hierarchical management of queue resources in an on-demand services environment in a multi-tenant environment according to one embodiment. In one embodiment and by way of example, a method includes assigning, in runtime, by the database system, weights to at least one of a plurality of tenants and a plurality of message types. The assigned weights are capable of being dynamically scaled, in runtime, based on one or more factors. The method may further include allocating, in runtime, by the database system, resources to one or more of the plurality of tenants and one or more of the plurality of message types based on their assigned one or more weights of the weights. The allocated resources are capable of being dynamically modified, in runtime, based on scaling of the assigned weights.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: fetching message type properties and tenant properties associated with message types and tenants, respectively; fetching message type queuing time and tenant queuing time associated with the message types and the tenants, respectively, wherein the message type and tenant queuing times are based on the message type and tenant properties; determining real-time snapshots of queues available to be assigned to the message types and the tenants; assigning scaling factors to the message types and the tenants based on the message type and tenant queuing times and the real-time snapshots; forming one or more combinations of one or more of the message types with one or more of the tenants based on the assigned scaling factors; and allocating resources associated with the queues to the one or more combinations, wherein allocating includes promoting or demoting the one or more combinations between two or more of the queues. 2. The method of claim 1 , further comprising allocating zero resources to one or more zero resource-consuming tenants and one or more zero resource-consuming message types that are determined as using zero amount of the tenant queuing time and the message type queuing time, respectively. 3. The method of claim 1 , wherein fetching further comprises retrieving weights from a weights cache, wherein the weights to identify one or more dimensions corresponding to the tenants or the message types, wherein the one or more dimensions include one or more of priority levels and process urgency levels associated with the tenants and the message types. 4. The method of claim 1 , further comprising: monitoring resource consumption levels associated with the tenants and the message types, wherein the resource consumption levels are monitored to ensure fair usage of the resources by one or more of the tenants and the message types based on the assigned weights; and computing the weights prior to assigning the weights to one or more of the tenants and the message types. 5. A database system having a server computing device coupled to a database, the server computing to facilitate operations comprising: fetching message type properties and tenant properties associated with message types and tenants, respectively; fetching message type queuing time and tenant queuing time associated with the message types and the tenants, respectively, wherein the message type and tenant queuing times are based on the message type and tenant properties; determining real-time snapshots of queues available to be assigned to the message types and the tenants; assigning scaling factors to the message types and the tenants based on the message type and tenant queuing times and the real-time snapshots; forming one or more combinations of one or more of the message types with one or more of the tenants based on the assigned scaling factors; and allocating resources associated with the queues to the one or more combinations, wherein allocating includes promoting or demoting the one or more combinations between two or more of the queues. 6. The database system of claim 5 , wherein the operations further comprise allocating zero resources to one or more zero resource-consuming tenants and one or more zero resource-consuming message types that are determined as using zero amount of the tenant queuing time and the message type queuing time, respectively. 7. The database system of claim 5 , wherein fetching further comprises retrieving weights from a weights cache, wherein the weights to identify one or more dimensions corresponding to the tenants or the message types, wherein the one or more dimensions include one or more of priority levels and process urgency levels associated with the tenants and the message types. 8. The database system of claim 5 , wherein the operations further comprise: monitoring resource consumption levels associated with the tenants and the message types, wherein the resource consumption levels are monitored to ensure fair usage of the resources by one or more of the tenants and the message types based on the assigned weights; and computing the weights prior to assigning the weights to one or more of the tenants and the message types. 9. A non-transitory computer-readable medium having stored thereon instructions which, when executed by a computing device, cause the computing device to facilitate operations comprising: fetching message type properties and tenant properties associated with message types and tenants, respectively; fetching message type queuing time and tenant queuing time associated with the message types and the tenants, respectively, wherein the message type and tenant queuing times are based on the message type and tenant properties; determining real-time snapshots of queues available to be assigned to the message types and the tenants; assigning scaling factors to the message types and the tenants based on the message type and tenant queuing times and the real-time snapshots; forming one or more combinations of one or more of the message types with one or more of the tenants based on the assigned scaling factors; and allocating resources associated with the queues to the one or more combinations, wherein allocating includes promoting or demoting the one or more combinations between two or more of the queues. 10. The non-transitory computer-readable medium of claim 9 , wherein the operations further comprise allocating zero resources to one or more zero resource-consuming tenants and one or more zero resource-consuming message types that are determined as using zero amount of the tenant queuing time and the message type queuing time, respectively. 11. The non-transitory computer-readable medium of claim 9 , wherein fetching further comprises retrieving weights from a weights cache, wherein the weights to identify one or more dimensions corresponding to the tenants or the message types, wherein the one or more dimensions include one or more of priority levels and process urgency levels associated with the tenants and the message types. 12. The non-transitory computer-readable medium of claim 9 , wherein the operations further comprise: monitoring resource consumption levels associated with the tenants and the message types, wherein the resource consumption levels are monitored to ensure fair usage of the resources by one or more of the tenants and the message types based on the assigned weights; and computing the weights prior to assigning the weights to one or more of the tenants and the message types.

Assignees

Inventors

Classifications

  • G06F9/5027Primary

    the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title

  • Thread allocation · CPC title

  • Message passing systems or structures, e.g. queues · CPC title

  • H04L47/72Primary

    using reservation actions during connection setup · CPC title

  • Queue scheduling · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11082357B2 cover?
In accordance with embodiments, there are provided mechanisms and methods for facilitating dynamic hierarchical management of queue resources in an on-demand services environment in a multi-tenant environment according to one embodiment. In one embodiment and by way of example, a method includes assigning, in runtime, by the database system, weights to at least one of a plurality of tenants and…
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/5027. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 03 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).