Equitable resource allocation for storage object deletion
First Claim
1. A system, comprising:
- one or more physical computing devices configured to implement a network-accessible multi-tenant storage service for storage objects owned by a plurality of clients, in which one or more storage objects owned by a client of the plurality of clients are stored within a logical container associated with the client;
a deletion job generator, implemented by one or more physical computing devices, configured to;
identify a set of storage objects of the multi-tenant storage service to be deleted in accordance with one or more deletion criteria;
generate one or more deletion job objects, wherein each deletion job object comprises an indication of a subset of the set of storage objects identified to be deleted, wherein at least one of the one or more deletion job objects comprises an indication of a subset comprising two or more storage objects of the set of storage objects that are identified to be deleted; and
a deletion task dispatcher, implemented by one or more physical computing devices, configured to;
determine for one or more particular deletion job objects of the one or more deletion job objects, one or more respective logical container counts, wherein each respective logical container count of the one or more respective logical container counts is indicative of a number of distinct logical containers whose storage objects are indicated in a respective particular deletion job object, wherein at least a first logical container of the distinct logical containers comprises storage objects owned by a first client of the plurality of clients, and at least a second logical container of the distinct logical containers comprises storage objects owned by a different client of the plurality of clients;
assign one or more resources to at least one of the one or more particular deletion job objects, wherein;
one quantity of resources of a pool of resources is available to be assigned to the particular deletion job if the particular deletion job object has a logical container count equal to one and a different quantity of resources is available to be assigned to the particular deletion job object if the particular deletion job object has a logical container count that exceeds one;
orthe one or more resources are selected from one or more pools of resources of a plurality of pools of resources, wherein to assign the one or more resources to the at least one particular deletion job object, the delete task dispatcher is configured to assign a resource from a first pool of resources of the plurality of pools of resources if the logical container count equals one, and assign a resource from a second pool of resources of the plurality of pools of resources if the logical container count exceeds one; and
initiate using at least the one or more resources, a deletion from the multi-tenant storage service of the storage objects indicated in the at least one particular deletion job object.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus for equitable resource allocation for storage object deletions are disclosed. A storage medium stores program instructions that when executed on a processor implement a deletion task dispatcher of a multi-tenant storage service. The dispatcher identifies one or more deletion job objects that each comprise an indication of a respective set of storage objects that are candidates for scheduled deletion from the storage service. The dispatcher determines a set of resources to be used for deletion operations corresponding to a particular deletion job object, based at least in part on the number of distinct clients whose storage objects are indicated in the job object, and assigned the set of resource to initiate the deletion operations corresponding to the particular job object.
-
Citations
19 Claims
-
1. A system, comprising:
-
one or more physical computing devices configured to implement a network-accessible multi-tenant storage service for storage objects owned by a plurality of clients, in which one or more storage objects owned by a client of the plurality of clients are stored within a logical container associated with the client; a deletion job generator, implemented by one or more physical computing devices, configured to; identify a set of storage objects of the multi-tenant storage service to be deleted in accordance with one or more deletion criteria; generate one or more deletion job objects, wherein each deletion job object comprises an indication of a subset of the set of storage objects identified to be deleted, wherein at least one of the one or more deletion job objects comprises an indication of a subset comprising two or more storage objects of the set of storage objects that are identified to be deleted; and a deletion task dispatcher, implemented by one or more physical computing devices, configured to; determine for one or more particular deletion job objects of the one or more deletion job objects, one or more respective logical container counts, wherein each respective logical container count of the one or more respective logical container counts is indicative of a number of distinct logical containers whose storage objects are indicated in a respective particular deletion job object, wherein at least a first logical container of the distinct logical containers comprises storage objects owned by a first client of the plurality of clients, and at least a second logical container of the distinct logical containers comprises storage objects owned by a different client of the plurality of clients; assign one or more resources to at least one of the one or more particular deletion job objects, wherein; one quantity of resources of a pool of resources is available to be assigned to the particular deletion job if the particular deletion job object has a logical container count equal to one and a different quantity of resources is available to be assigned to the particular deletion job object if the particular deletion job object has a logical container count that exceeds one;
orthe one or more resources are selected from one or more pools of resources of a plurality of pools of resources, wherein to assign the one or more resources to the at least one particular deletion job object, the delete task dispatcher is configured to assign a resource from a first pool of resources of the plurality of pools of resources if the logical container count equals one, and assign a resource from a second pool of resources of the plurality of pools of resources if the logical container count exceeds one; and initiate using at least the one or more resources, a deletion from the multi-tenant storage service of the storage objects indicated in the at least one particular deletion job object. - View Dependent Claims (2, 3, 4)
-
-
5. A method, comprising:
-
implementing, by one or more computers, a network-accessible multi-tenant storage service for storage objects owned by a plurality of clients, in which one or more storage objects owned by a particular client of the plurality of clients are stored within a logical container associated with the particular client and one or more other storage objects owned by another particular client of the plurality of clients are stored within a logical container associated with the other particular client; identifying, by a deletion job generator implemented by one or more computers, a set of storage objects of the multi-tenant storage service to be deleted in accordance with one or more deletion criteria; generating, by the deletion job generator, one or more deletion job objects, wherein each deletion job object comprises an indication of a subset of the set of storage objects identified to be deleted, wherein at least one of the one or more deletion job objects comprises an indication of a subset comprising two or more storage objects of the set of storage objects to be deleted; determining, by a deletion task dispatcher implemented by one or more computers, for a particular deletion job object, a logical container count, wherein the logical container count is indicative of a number of distinct logical containers whose storage objects are indicated in the deletion job object; assigning, by the deletion task dispatcher, one or more resources to the particular deletion job object, wherein; one quantity of resources of a pool of resources is available to be assigned to the particular deletion job object if the particular deletion job object has a logical container count equal to one and a different quantity of resources is available to be assigned to the particular deletion job object if the particular deletion job object has a logical container count that exceeds one;
orthe one or more resources to be assigned to the particular deletion job object are selected from a first resource pool of a plurality of resource pools if the logical container count equals one and are selected from a second resource pool of the plurality of resource pools if the logical container count exceeds one; and initiating, by the deletion task dispatcher, using the assigned one or more resources, one or more deletion operations corresponding to the particular deletion job object. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-accessible storage medium storing program instructions that when executed on one or more processors implement a deletion task dispatcher of a network-accessible multi-tenant storage service for storage objects owned by a plurality of clients, wherein the deletion task dispatcher is configured to:
-
identify a set of storage objects of the multi-tenant storage service as candidates for scheduled deletion from the storage service in accordance with one or more deletion criteria; generate one or more deletion job objects, wherein each deletion job object comprises an indication of a subset of the set of storage job objects identified as candidates for scheduled deletion, wherein at least one of the deletion job objects comprises an indication of a subset comprising two or more storage objects identified as candidates for scheduled deletion from the storage service; determine, for a particular deletion job object, a number of distinct clients whose storage objects are indicated in the particular deletion job object; assign a set of resources to be used for deletion operations corresponding to the particular deletion job object, wherein; one quantity of resources of a pool of resources is available to be assigned to the particular deletion job object if the particular deletion job object has a number of distinct clients whose storage objects are indicated in the particular deletion job object that is equal to one and a different quantity of resources is available to be assigned to particular deletion job object if the particular deletion job object has a number of distinct clients whose storage objects are indicated in the particular deletion job object that exceeds one;
orone or more resources of the set of resources are selected from one or more pools of resources of a plurality of pools of resources based, at least in part, on the number of distinct clients whose storage objects are indicated in the particular deletion job object, wherein if the number of distinct clients whose storage objects are indicated in the particular deletion job object equals one the one or more resources are selected from a first pool of resources of the plurality of pools of resources and if the number of distinct clients whose storage objects are indicated in the particular deletion job object exceeds one the one or more resources are selected from a second pool of resources of the plurality of pools of resources; and initiate, using the assigned set of resources, the deletion operations of the storage objects indicated in the particular deletion job object. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification