Facilitating equitable distribution of thread resources for job types associated with tenants in a multi-tenant on-demand services environment

US9529626B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9529626-B2
Application numberUS-201313841417-A
CountryUS
Kind codeB2
Filing dateMar 15, 2013
Priority dateSep 12, 2012
Publication dateDec 27, 2016
Grant dateDec 27, 2016

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 a fair allocation and usage of thread resources for user messages according to one embodiment in an on-demand services environment. In one embodiment and by way of example, a method includes tracking resource usage associated with a plurality of messages performed and completed in response to requests placed by a user via a user interface at a computing device, where the tracking includes recording an amount of resources consumed by each completed message. The method may further include classifying the plurality of messages into job types based on the tracked resource usage associated with the plurality of messages, and enforcing, based on the classification of the messages, a message selection process to ensure equitable distribution of resources to subsequently received messages.

First claim

Opening claim text (preview).

What is claimed is: 1. A database system-implemented method, comprising: tracking, by the database system, resource usage associated with a plurality of job types requested by one or more tenants in a multi-tenant environment; calculating, by the database system, a deficiency factor suffered by a job type associated with a tenant, wherein the deficiency factor is based on an actual usage and an expected usage of resources by the job type, wherein the deficiency factor indicates deficiency in usage of the resources by the job type such that the deficiency corresponds to the actual usage of the resources by the job type being lower than the expected usage assigned to the job type by measuring the usage over multiple predetermined segments of time, wherein the deficiency being temporary deficiency or chronic deficiency based on high latency in queuing time or high usage of the resources by one or more of the plurality of job types; and enforcing, by the database system, an equitable distribution of the resources for the plurality of job types by adjusting a current distribution representing an inequitable distribution, wherein adjusting includes selectively lowering the high usage of the resources by the one or more job types until the deficiency factor is inconsequential such that the actual usage by the job type has increased to match the expected usage. 2. The method of claim 1 , wherein calculating further comprises: computing the actual usage by the job type and one or more actual usages representing the high usage by the one or more job types; and computing the expected usage associated with the job type and one or more expected usages associated with the one or more job types. 3. The method of claim 1 , wherein enforcing comprises triggering fair usage to ensure the equitable distribution of the resources for the plurality of job types. 4. The method of claim 3 , wherein triggering comprises prioritizing one or more work hosts associated with the job type to boost processing of tasks associated with the job type, wherein prioritizing is performed over the multiple predetermined segments of time. 5. The method of claim 1 , further comprising receiving a job request to perform the job type, wherein the job request is placed at a computing device associated with the tenant in the multi-tenant environment, wherein the job request is placed by a user having access to the computing device. 6. The method of claim 1 , wherein the resource usage comprises usage of thread resources, wherein the thread resources are accessed via a plurality of message queues. 7. The method of claim 1 , wherein selectively lowering the high usage comprises: minimizing the deficiency factor by automatically adapting a selection process for selection of the plurality of job types; and real-time tracking of the resource usage based on at least one of a sliding window scale, fairness usage, queuing time, and adaptive intervention via configurable threshold, wherein the sliding window scale to facilitate the multiple predetermined segments of time. 8. A system comprising a computing device having a memory device to store instructions, and a processing device to execute the instructions to facilitate a mechanism to perform operations comprising: tracking, resource usage associated with a plurality of job types requested by one or more tenants in a multi-tenant environment; calculating, a deficiency factor suffered by a job type associated with a tenant, wherein the deficiency factor is based on an actual usage and an expected usage of resources by the job type, wherein the deficiency factor indicates deficiency in usage of the resources by the job type such that the deficiency corresponds to the actual usage of the resources by the job type being lower than the expected usage assigned to the job type by measuring the usage over multiple predetermined segments of time, wherein the deficiency being temporary deficiency or chronic deficiency based on high latency in queuing time or high usage of the resources by one or more of the plurality of job types; and enforcing an equitable distribution of the resources for the plurality of job types by adjusting a current distribution representing an inequitable distribution, wherein adjusting includes selectively lowering the high usage of the resources by the one or more job types until the deficiency factor is inconsequential such that the actual usage by the job type has increased to match the expected usage. 9. The system of claim 8 , wherein the calculating comprises: computing the actual usage by the job type and one or more actual usages representing the high usage by the one or more job types; and computing the expected usage associated with the job type and one or more expected usages associated with the one or more job types. 10. The system of claim 8 , wherein enforcing comprise triggering fair usage to ensure the equitable distribution of the resources for the plurality of job types. 11. The system of claim 10 , wherein triggering comprises prioritizing one or more work hosts associated with the job type to boost processing of tasks associated with the job type, wherein prioritizing is performed over the multiple predetermined segments of time. 12. The system of claim 8 , wherein the operations further comprise receiving a job request to perform the job type, wherein the job request is placed at a computing device associated with the tenant in the multi-tenant environment, wherein the job request is placed by a user having access to the computing device. 13. The system of claim 8 , wherein the resource usage comprises usage of thread resources, wherein the thread resources are accessed via a plurality of message queues. 14. The system of claim 8 , wherein selectively lowering the high usage comprises: minimizing the deficiency factor by automatically adapting a selection process for selection of the plurality of job types; and real-time tracking of the resource usage based on at least one of a sliding window scale, fairness usage, queuing time, and adaptive intervention via configurable threshold, wherein the sliding window scale to facilitate the multiple predetermined segments of time. 15. A non-transitory machine-readable medium having stored thereon instructions which, when executed by a machine, cause the machine to perform operations comprising: tracking resource usage associated with a plurality of job types requested by one or more tenants in a multi-tenant environment; calculating a deficiency factor suffered by a job type associated with a tenant, wherein the deficiency factor is based on an actual usage and an expected usage of resources by the job type, wherein the deficiency factor indicates deficiency in usage of the resources by the job type such that the deficiency corresponds to the actual usage of the resources by the job type being lower than the expected usage assigned to the job type by measuring the usage over multiple predetermined segments of time, wherein the deficiency being temporary deficiency or chronic deficiency based on high latency in queuing time or high usage of the resources by one or more of the plurality of job types; and enforcing an equitable distribution of the resources for the plurality of job types by adjusting a current distribution representing an inequitable distribution, wherein adjusting includes selectively lowering the high usage of the resources by the one or more job types until the deficiency factor is inconsequential such that the actual usage by the job type has increased to match the expected usage. 16. The non-trans

Assignees

Inventors

Classifications

  • Decision processes by autonomous network management units using voting and bidding · CPC title

  • Queue scheduling · CPC title

  • by quorum, i.e. whereby two or more security principals are required · CPC title

  • Monitor · CPC title

  • the resource being a machine, e.g. CPUs, Servers, Terminals · 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 US9529626B2 cover?
In accordance with embodiments, there are provided mechanisms and methods for facilitating a fair allocation and usage of thread resources for user messages according to one embodiment in an on-demand services environment. In one embodiment and by way of example, a method includes tracking resource usage associated with a plurality of messages performed and completed in response to requests pla…
Who is the assignee on this patent?
Salesforce Com Inc, Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification G06Q30/08. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 27 2016 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).