Legal claims defining the scope of protection, as filed with the USPTO.
1. A method comprising: receiving, at a computing device that has a fixed amount of rate-based computing resources, indications of a plurality of tenants that are configured to request rate-based resources of the computing device, a tenant being logically isolated computer-executable code; receiving, at the computing device, resource reservations for the plurality of tenants, the resource reservations being absolute and cumulatively greater than the fixed amount of computing resources of the computing device, a resource reservation of the resource reservations defining an amount of rate-based computing resources that is to be accessible to a tenant that has the resource reservation when the tenant requests rate-based computing resources; receiving requests for rate-based computing resources of the computing device from tenants in the plurality of tenants; and allocating rate-based computing resources to the tenants based upon the requests and the resource reservations for the plurality of tenants.
2. The method of claim 1 , a first tenant in the plurality of tenants has a first resource reservation, the first resource reservation being a static reservation, the static reservation indicating that the first tenant has reserved a first threshold amount of rate-based computing resources of the computing device for each metering interval.
3. The method of claim 2 , the static reservation indicating that the first tenant is not guaranteed access to rate-based computing resources of the computing device above the first threshold amount of rate-based computing resources at any time.
4. The method of claim 2 , a second tenant in the plurality of tenants has a second resource reservation, the second resource reservation being an elastic reservation, the elastic reservation indicating that the second tenant has reserved a second threshold amount of rate-based computing resources of the computing device over several metering intervals.
5. The method of claim 4 , the elastic reservation indicating that the second tenant is to have access to rate-based computing resources of the computing device above the second threshold amount of rate-based computing resources when the second tenant has not utilized the second threshold amount of rate-based computing resources over the several metering intervals.
6. The method of claim 4 , the first threshold amount of rate-based computing resources and the second threshold amount of rate-based computing resources are expressed as one of percentages of the fixed amount of rate-based computing resources, numbers of virtual cores, or CPU times.
7. The method of claim 1 , further comprising: computing fractional deficits for the requests; and allocating the rate-based resources based upon the fractional deficits computed for the requests.
8. The method of claim 1 , further comprising: receiving an indication of at least one of prices paid by owners of the plurality of tenants for the resource reservations or penalties corresponding to the plurality of tenants; and dynamically allocating the rate-based computing resources to the tenants based upon the at least one of the prices or the penalties.
9. The method of claim 8 , wherein the penalties define reimbursements to be made to the plurality of tenants when the resource reservations are not met.
10. The method of claim 8 , further comprising: setting a value that is indicative of a fairness criteria to employ when allocating the rate-based computing resources to the tenants when the rate-based computing resources requested by the tenants are in accord with the resource reservations of the tenants and when the rate-based computing resources requested by the tenants exceed the fixed amount of rate-based computing resources of the computing device; and dynamically allocating the rate-based computing resources to the tenants based upon the value.
11. The method of claim 1 , further comprising reimbursing an owner of at least one tenant in the tenants when a resource reservation of the tenant is unmet.
12. A computer-readable storage medium comprising instructions that, when executed by a processor, cause the processor to perform acts comprising: receiving a plurality of tasks that are to be executed by a processor core, the plurality of tasks correspond to a plurality of tenants, each tenant in the plurality of tenants being computer-executable code that generates tasks, the plurality of tenants have a plurality of resource reservations that include both static and elastic resource reservations; computing resource utilizations of the plurality of tenants over metering intervals for the plurality of tenants, the metering intervals being time periods over which the resource utilizations of the plurality of tenants are computed; computing fractional deficits for the plurality of tenants based upon the resource utilizations of the plurality of tenants and the resource reservations of the plurality of tenants; selecting a task from the plurality of tasks based upon the fractional deficits; and responsive to the task being selected, executing the task.
13. A server computing device that has a fixed amount of rate-based computing resources, the server computing device comprising: at least one processor core; and memory that stores instructions that, when executed by the at least one processor core, cause the at least one processor core to perform acts comprising: receiving indications of a plurality of tenants that are configured to request rate-based resources of the server computing device, a tenant being logically isolated computer-executable code; receiving resource reservations for the plurality of tenants, the resource reservations being absolute and cumulatively greater than the fixed amount of computing resources of the server computing device, a resource reservation of the resource reservations defining an amount of rate-based computing resources that is to be accessible to a tenant that has the resource reservation when the tenant requests rate-based computing resources; receiving requests for rate-based computing resources of the server computing device from tenants in the plurality of tenants; and allocating rate-based computing resources to the tenants based upon the requests and the resource reservations for the plurality of tenants.
14. The server computing device of claim 13 , wherein a first resource reservation in the resource reservations is a static resource reservation, and wherein a second resource reservation in the reservations is an elastic resource reservation.
15. The server computing device of claim 13 , the acts further comprising: maintaining tasks that are executable by the at least one processor core, the tasks generated by tenants in the plurality of tenants; receiving computing resource utilizations of the tenants and the resource reservations of the tenants; computing fractional deficits for the tenants based upon the computing resource utilizations and the resource reservations; and selecting a task from the tasks based upon the fractional deficits computed for the patients.
16. The server computing device of claim 15 , the computing resource utilizations of the tenants being with respect to metering intervals for the tenants, the metering intervals being time intervals during which the computing resource utilizations are computed and accounted.
17. The server computing device of claim 15 , wherein selecting the task from the tasks comprises selecting the task based upon a tenant that submitted the task having a largest fractional deficit amongst the fractional deficits.
18. The server computing device of claim 15 , the acts further comprising computing resource utilizations of the tenants over multiple processor cores.
19. The server computing device of claim 15 , the task being a database task.
20. The server computing device of claim 15 , where the task is selected to at least one of maximize revenue of an operator of the server computing device or to contemplate fairness with respect to tenants with workloads.
Unknown
March 21, 2017
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.