Simplified Hash Table
US-2024422006-A1 · Dec 19, 2024 · US
US11082357B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11082357-B2 |
| Application number | US-201916694976-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 25, 2019 |
| Priority date | Oct 28, 2014 |
| Publication date | Aug 3, 2021 |
| Grant date | Aug 3, 2021 |
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 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.
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.
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
using reservation actions during connection setup · CPC title
Queue scheduling · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.