System, method, and medium for facilitating auction-based resource sharing for message queues in an on-demand services environment
First Claim
1. A database system-implemented method for auction-based resource sharing between tenants in a multi-tenant database environment having an auction server computing device (“
- auction device”
) having one or more processing devices and associated memory devices hosting a thread resource management to facilitate the one or more processing devices to perform the method comprising;
receiving, by the auction device, bids from the tenants in the multi-tenant database environment for resources for at least one of new jobs and pending jobs, wherein the thread resource management mechanism comprises a processing framework including auction-based resource sharing logic to facilitate the auction-based resource sharing between the tenants;
facilitating, by the auction device, a two-level scheduling scheme to perform resource allocation decisions on the bids, wherein the two-level scheduling scheme considers priorities associated with the tenants and message types of the new jobs and pending jobs, wherein considering priorities includes reviewing one or more historical considerations for the tenants and the message types, wherein the historical considerations include at least one of frequency at which one or more tenants are known for requesting one or more jobs, and runtime history indicating expected runtime for processing of one or more message types;
based on the two-level scheduling scheme, determining, by the auction device, whether a first tenant possesses sufficient currency to win a bid for allocation of a first portion of the resources for at least one of a first new job and a first pending job, wherein the determining further includes evaluating whether a second pending job of a second tenant has been completed without consuming a second portion of the resources dedicated to the second tenant for completion of the second pending job; and
allocating, by the auction device, the first portion of the resources to the first tenant in response to the bid by the first tenant, wherein the first portion includes at least one of a new set of resources and unused dedicated resources of the second tenant, wherein allocating is based, from the considered priorities, on one or more priorities associated with the first tenant and a message type of the first new job or the first pending job.
1 Assignment
0 Petitions
Accused Products
Abstract
In accordance with embodiments for facilitating action-based fair allocation and usage of thread resources, and by way of example, a method includes receiving job requests and bids from organizations over a network, where each job request and the corresponding bid is placed by a user associated with an organization having a resource currency value within a multi-tenant database system, determining resource currency values associated with pending jobs relating to the organizations, wherein the resource currency values corresponds to resources dedicated to the pending jobs, performing an auction of the received bids for resources that are not dedicated and remains available for purchase, where a bid includes a purchase request to purchase the available resources, prioritizing the job requests based on the dedicated resources and the auction of the available resources, and processing the job requests based on the prioritized job requests.
183 Citations
15 Claims
-
1. A database system-implemented method for auction-based resource sharing between tenants in a multi-tenant database environment having an auction server computing device (“
- auction device”
) having one or more processing devices and associated memory devices hosting a thread resource management to facilitate the one or more processing devices to perform the method comprising;receiving, by the auction device, bids from the tenants in the multi-tenant database environment for resources for at least one of new jobs and pending jobs, wherein the thread resource management mechanism comprises a processing framework including auction-based resource sharing logic to facilitate the auction-based resource sharing between the tenants; facilitating, by the auction device, a two-level scheduling scheme to perform resource allocation decisions on the bids, wherein the two-level scheduling scheme considers priorities associated with the tenants and message types of the new jobs and pending jobs, wherein considering priorities includes reviewing one or more historical considerations for the tenants and the message types, wherein the historical considerations include at least one of frequency at which one or more tenants are known for requesting one or more jobs, and runtime history indicating expected runtime for processing of one or more message types; based on the two-level scheduling scheme, determining, by the auction device, whether a first tenant possesses sufficient currency to win a bid for allocation of a first portion of the resources for at least one of a first new job and a first pending job, wherein the determining further includes evaluating whether a second pending job of a second tenant has been completed without consuming a second portion of the resources dedicated to the second tenant for completion of the second pending job; and allocating, by the auction device, the first portion of the resources to the first tenant in response to the bid by the first tenant, wherein the first portion includes at least one of a new set of resources and unused dedicated resources of the second tenant, wherein allocating is based, from the considered priorities, on one or more priorities associated with the first tenant and a message type of the first new job or the first pending job. - View Dependent Claims (2, 3, 4, 5)
- auction device”
-
6. A database system having an auction server computing device (“
- auction device”
) to facilitate auction-based resource sharing between tenants in a multi-tenant database environment, the auction device having one or more processing devices and associated memory devices hosting a thread resource management to facilitate the one or more processing devices to perform operations comprising;receiving bids from the tenants in the multi-tenant database environment for resources for at least one of new jobs and pending jobs, wherein the thread resource management mechanism comprises a processing framework including auction-based resource sharing logic to facilitate the auction-based resource sharing between the tenants; facilitating a two-level scheduling scheme to perform resource allocation decisions on the bids, wherein the two-level scheduling scheme considers priorities associated with the tenants and message types of the new jobs and pending jobs, wherein considering priorities includes reviewing one or more historical considerations for the tenants and the message types, wherein the historical considerations include at least one of frequency at which one or more tenants are known for requesting one or more jobs, and runtime history indicating expected runtime for processing of one or more message types; based on the two-level scheduling scheme, determining whether a first tenant possesses sufficient currency to win a bid for allocation of a first portion of the resources for at least one of a first new job and a first pending job, wherein the determining further includes evaluating whether a second pending job of a second tenant has been completed without consuming a second portion of the resources dedicated to the second tenant for completion of the second pending job; and allocating the first portion of the resources to the first tenant in response to the bid by the first tenant, wherein the first portion includes at least one of a new set of resources and unused dedicated resources of the second tenant, wherein allocating is based, from the considered priorities, on one or more priorities associated with the first tenant and a message type of the first new job or the first pending job. - View Dependent Claims (7, 8, 9, 10)
- auction device”
-
11. A non-transitory machine-readable medium having stored thereon instructions which, when executed by a processing device of an auction server computing device in a multi-tenant database environment, cause the processing device to perform operations comprising:
-
receiving bids from tenants in the multi-tenant database environment for resources for at least one of new jobs and pending jobs, the auction device to facilitate auction-based resource sharing between the tenants in the multi-tenant database environment, wherein the thread resource management mechanism comprises a processing framework including auction-based resource sharing logic to facilitate the auction-based resource sharing between the tenants; facilitating a two-level scheduling scheme to perform resource allocation decisions on the bids, wherein the two-level scheduling scheme considers priorities associated with the tenants and message types of the new jobs and pending jobs, wherein considering priorities includes reviewing one or more historical considerations for the tenants and the message types, wherein the historical considerations include at least one of frequency at which one or more tenants are known for requesting one or more jobs, and runtime history indicating expected runtime for processing of one or more message types; based on the two-level scheduling scheme, determining whether a first tenant possesses sufficient currency to win a bid for allocation of a first portion of the resources for at least one of a first new job and a first pending job, wherein the determining further includes evaluating whether a second pending job of a second tenant has been completed without consuming a second portion of the resources dedicated to the second tenant for completion of the second pending job; and allocating the first portion of the resources to the first tenant in response to the bid by the first tenant, wherein the first portion includes at least one of a new set of resources and unused dedicated resources of the second tenant, wherein allocating is based, from the considered priorities, on one or more priorities associated with the first tenant and a message type of the first new job or the first pending job. - View Dependent Claims (12, 13, 14, 15)
-
Specification