Systems and methods for allocating shared resources in multi-tenant environments

US10965610B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10965610-B1
Application numberUS-202016789395-A
CountryUS
Kind codeB1
Filing dateFeb 12, 2020
Priority dateNov 10, 2017
Publication dateMar 30, 2021
Grant dateMar 30, 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.

The disclosed computer-implemented method may include (1) for each tenant in a plurality of tenants within a multi-tenant service system, assigning a probability factor to the tenant that indicates a likelihood that the tenant will be selected when a resource of the multi-tenant service system is available, (2) detecting that the resource of the multi-tenant service system is available, (3) probabilistically selecting a tenant from the plurality of tenants by using the probability factors assigned to the tenants in the plurality of tenants, and (4) directing the multi-tenant service system to allocate the resource to the selected tenant for execution of a work item received from the selected tenant. Various other methods, systems, and computer-readable media are also disclosed.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: for each tenant in a plurality of tenants within a multi-tenant service system, assigning a probability factor to the tenant that indicates a likelihood that the tenant will be selected when a resource of the multi-tenant service system is available by determining a work value corresponding to the tenant based on: a number of work items in a work item queue associated with the tenant that includes at least one enqueued work item; and a cost factor representative of a cost of execution of the enqueued work item; detecting that the resource of the multi-tenant service system is available; probabilistically selecting a tenant from the plurality of tenants by using the probability factors assigned to the tenants in the plurality of tenants; and directing the multi-tenant service system to allocate the resource to the selected tenant for execution of a work item received from the selected tenant. 2. The computer-implemented method of claim 1 , wherein determining the work value corresponding to the tenant is based on a weight factor corresponding to the tenant that indicates an importance of the tenant relative to at least one additional tenant in the plurality of tenants. 3. The computer-implemented method of claim 1 , wherein: determining the work value corresponding to the tenant comprises tracking a recency factor corresponding to the tenant that is representative of a number of selections that have been made since the tenant was previously selected; and determining the work value corresponding to the tenant is based on the tracked recency factor. 4. The computer-implemented method of claim 3 , wherein tracking the recency factor corresponding to the tenant comprises: setting the recency factor corresponding to the tenant to a predetermined value when the tenant is selected; and adding a predetermined amount to the recency factor corresponding to the tenant when a different tenant in the plurality of tenants is selected. 5. The computer-implemented method of claim 1 , wherein assigning the probability factor to the tenant comprises: determining: a sum of a plurality of work values, each work value in the plurality of work values corresponding to a different tenant in the plurality of tenants; and a quotient of the work value corresponding to the tenant divided by the sum of the work values; and designating the quotient as the probability factor corresponding to the tenant. 6. The computer-implemented method of claim 1 , wherein determining the work value corresponding to the tenant comprises: calculating a product of: a weight factor corresponding to the tenant that indicates an importance of the tenant relative to at least one additional tenant in the plurality of tenants, a number of work items in the work item queue associated with the tenant; a recency factor corresponding to the tenant that is representative of a number of selections that have been made since the tenant was previously selected; and designating the calculated product as the work value corresponding to the tenant. 7. The computer-implemented method of claim 6 , wherein assigning the probability factor to the tenant further comprises determining: a sum of a plurality of work values, each work value in the plurality of work values corresponding to a different tenant in the plurality of tenants; and assigning the probability factor to the tenant is further based on the work value corresponding to the tenant and the sum of the plurality of work values. 8. The computer-implemented method of claim 7 , wherein probabilistically selecting the tenant from the plurality of tenants by using the probability factors assigned to the tenants in the plurality of tenants comprises: randomly selecting a number based on the sum of the plurality of work values; and mapping the randomly selected number to the tenant based on the work value corresponding to the tenant. 9. The computer-implemented method of claim 1 , wherein the resource of the multi-tenant service system comprises a worker of the multi-tenant service system that is configured to process a task associated with the work item. 10. The computer-implemented method of claim 1 , wherein detecting that the resource of the multi-tenant service system is available comprises: tracking a usage of the resource of the multi-tenant service system; and anticipating, based on the tracked usage of the multi-tenant service system, that the resource is likely to be available at a particular time. 11. A system comprising: an assigning module, stored in memory, that, for each tenant in a plurality of tenants within a multi-tenant service system, assigning a probability factor to the tenant that indicates a likelihood that the tenant will be selected when a resource of the multi-tenant service system is available by determining a work value corresponding to the tenant based on: a number of work items in a work item queue associated with the tenant that includes at least one enqueued work item; and a cost factor representative of a cost of execution of the enqueued work item; a detecting module, stored in memory, that detects that the resource of the multi-tenant service system is available; a selecting module, stored in memory, that probabilistically selects a tenant from the plurality of tenants by using the probability factors assigned to the tenants in the plurality of tenants; a directing module, stored in memory, that directs the multi-tenant service system to allocate the resource to the selected tenant for execution of a work item received from the selected tenant; and at least one physical processor that executes the assigning module, the detecting module, the selecting module, and the directing module. 12. The system of claim 11 , wherein the assigning module determines the work value corresponding to the tenant based on a weight factor corresponding to the tenant that indicates an importance of the tenant relative to at least one additional tenant in the plurality of tenants. 13. The system of claim 11 , wherein: the assigning module determines the work value corresponding to the tenant by tracking a recency factor corresponding to the tenant that is representative of a number of selections that have been made since the tenant was previously selected; and determines the work value corresponding to the tenant based on the tracked recency factor. 14. The system of claim 13 , wherein the assigning module tracks the recency factor corresponding to the tenant by: setting the recency factor corresponding to the tenant to a predetermined value when the tenant is selected; and adding a predetermined amount to the recency factor corresponding to the tenant when a different tenant in the plurality of tenants is selected. 15. The system of claim 11 , wherein the assigning module assigns the probability factor to the tenant by: determining: a sum of a plurality of work values, each work value in the plurality of work values corresponding to a different tenant in the plurality of tenants; and a quotient of the work value corresponding to the tenant divided by the sum of the work values; and designating the quotient as the probability factor corresponding to the tenant. 16. The system of claim 11 , wherein the assigning module further determines the work value corresponding to the tenant by: calculating a product of: a weight factor corresponding to the tenant that indicates an importance of the tenant relative to at least one additional tenant in the plurality of tenants, a n

Assignees

Inventors

Classifications

  • H04L47/70Primary

    Admission control; Resource allocation · CPC title

  • H04L67/10Primary

    in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title

  • for accessing one among a plurality of replicated servers · CPC title

  • Grid computing · CPC title

  • Allocation of resources, e.g. of the central processing unit [CPU] · 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 US10965610B1 cover?
The disclosed computer-implemented method may include (1) for each tenant in a plurality of tenants within a multi-tenant service system, assigning a probability factor to the tenant that indicates a likelihood that the tenant will be selected when a resource of the multi-tenant service system is available, (2) detecting that the resource of the multi-tenant service system is available, (3) pro…
Who is the assignee on this patent?
Facebook Inc
What technology area does this patent fall under?
Primary CPC classification H04L47/70. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 30 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).