Correlated volume placement in a distributed block storage service

US11080092B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-11080092-B1
Application numberUS-201916366836-A
CountryUS
Kind codeB1
Filing dateMar 27, 2019
Priority dateMar 27, 2019
Publication dateAug 3, 2021
Grant dateAug 3, 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.

Systems and methods are disclosed for handling requests to create multiple volumes with an expected usage correlation on a block storage service. Rather than handling each request to create a volume independently, embodiments described herein can handle the request in bulk, quickly determining whether the request as a whole can be handled at the system. In one embodiment, the service allows for oversubscription of use on hosts, as well as parallelization of placement decisions, by rejecting placement requests when a number of possible hosts for a volume within a requested set falls below a candidate set size, which is determined based on factors such as a number of requested volumes and an expected accuracy of state information for the service at a placement engine within a distributed set of engines.

First claim

Opening claim text (preview).

What is claimed is: 1. A system to manage requests for multiple data volumes on a block-storage service, the system comprising: a plurality of hosts, each host corresponding to a computing device configured to host data volumes of the block-storage service, each data volume representing network-accessible block storage; and one or more computing devices configured to implement a control plane to: receive a request of a client computing device to create a plurality of data volumes on the service; identify an expected correlation in a timing of input/output (I/O) operations to the plurality of data volumes; determine a division of the request into a plurality of subrequests, each of the subrequests corresponding to a subset of data volumes from the plurality of data volumes; determine, from at least a total number of data volumes within the plurality of data volumes, a candidate set size indicating a minimum required number of hosts among which the subset of data volumes of each subrequest are to be distributed; determine that a total number of hosts, within the plurality of hosts, available to host a data volume of the plurality of data volumes is less than the candidate set size; and notify the client computing device that the request cannot be fulfilled. 2. The system of claim 1 , wherein notification to the client computing device that the request cannot be fulfilled occurs prior to any instruction to a host, from the plurality of hosts, to host a data volume of the plurality of data volumes. 3. The system of claim 1 , wherein, to determine that the total number of hosts, within the plurality of hosts, available to host a data volume of the plurality of data volumes is less than the candidate set size, implementation of the control plane causes the one or more computing devices to determine the candidate set size exceeds a number of hosts in the plurality of hosts. 4. The system of claim 1 , wherein implementation of the control plane causes the one or more computing devices to: determine, from the total number of hosts available to host a data volume of the plurality of data volumes, an alternative candidate set size; and determine, from the alternative candidate set size, a suggested alternative number of data volumes; wherein the notification to the client computing device indicates the suggested alternative number of data volumes. 5. A computer-implemented method comprising: receiving a request of a client computing device to create a plurality of data volumes on a block-storage service, wherein the service includes a plurality of placement engines, each placement engine configured to obtain a subrequest corresponding to a subset of data volumes from the plurality of data volumes and to place, among hosts of the block-storage service, individual data volumes of the subset; identifying an expected correlation of operation of the plurality of volumes; determining, from at least a metric regarding the plurality of data volumes in aggregate, a candidate set size, the candidate set size indicating a minimum required number of hosts among which the subset of data volumes of each subrequest are to be distributed; determining that a total number of hosts, within a plurality of hosts configured to host data volumes of the block-storage service, available to host a data volume of the plurality of data volumes is less than the candidate set size; and notifying the client computing device that the request cannot be fulfilled. 6. The computer-implemented method of claim 5 , wherein the expected correlation of operation of the plurality of volumes is an expected correlation in timing of input/output (I/O) operations of the plurality of volumes. 7. The computer-implemented method of claim 5 , wherein identifying the expected correlation of operation to the plurality of volumes comprises identifying that the plurality of volumes are associated with a cluster of computing devices. 8. The computer-implemented method of claim 7 , wherein the cluster of computing includes virtual computing devices on a hosted computing environment. 9. The computer-implemented method of claim 5 , wherein identifying the expected correlation of operation to the plurality of volumes comprises identifying that the plurality of volumes are associated with an individual account on the block-storage service. 10. The computer-implemented method of claim 5 , wherein the candidate set size is determined as a proportion of the number of data volumes within the plurality of data volumes. 11. The computer-implemented method of claim 5 , wherein the candidate set size is further determined based at least partly on an expected accuracy of the information indicating a state of the plurality of hosts. 12. The computer-implemented method of claim 11 , wherein the expected accuracy of the information is determined at least partly on a volume of received placement requests. 13. The computer-implemented method of claim 5 , wherein determining that the total number of hosts available to host a data volume of the plurality of data volumes is less than the candidate set size comprises determining that the candidate set size exceeds a total number of hosts in the plurality of hosts with hardware capable of hosting data volumes of a type specified within the request. 14. The computer-implemented method of claim 5 further comprising: determining, from the total number of hosts available to host a data volume of the plurality of data volumes, an alternative candidate set size; determining, from the alternative candidate set size, a suggested alternative number of data volumes; and notifying the client computing device of the suggested alternative number of data volumes. 15. A system comprising: a data store including computer-executable instructions; and one or more computing devices configured to execute the instructions to: receive a request of a client computing device to create a plurality of data volumes on a block-storage service, wherein the service includes a plurality of placement engines, each placement engine configured to obtain a subrequest corresponding to a subset of data volumes from the plurality of data volumes and to place, among hosts of the block-storage service, individual data volumes of the subset; identify an expected correlation of operation of the plurality of volumes; determine, from at least a metric regarding the plurality of data volumes in aggregate, a candidate set size, the candidate set size indicating a minimum required number of hosts among which the subset of data volumes of each subrequest are to be distributed; determine that a total number of hosts, within a plurality of hosts configured to host data volumes of the block-storage service, available to host a data volume of the plurality of data volumes is less than the candidate set size; and notify the client computing device that the request cannot be fulfilled. 16. The system of claim 15 , wherein the expected correlation of operation of the plurality of volumes is an expected correlation in timing of input/output (I/O) operations of the plurality of volumes. 17. The system of claim 15 , wherein the candidate set size is further determined based at least in part on a requested performance of the plurality of data volumes. 18. The system of claim 15 , wherein, to determine that the total number of hosts, within the plurality of hosts, available to host a data volume of the plurality of data volumes is less than the candidate set size, the instructions cause the one or more computing devices to

Assignees

Inventors

Classifications

  • Priority · CPC title

  • the resources being hardware resources other than CPUs, Servers and Terminals · CPC title

  • Resource planning, allocation, distributing or scheduling for enterprises or organisations · CPC title

  • Rental transactions; Leasing transactions · CPC title

  • G06F9/5016Primary

    the resource being the memory · 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 US11080092B1 cover?
Systems and methods are disclosed for handling requests to create multiple volumes with an expected usage correlation on a block storage service. Rather than handling each request to create a volume independently, embodiments described herein can handle the request in bulk, quickly determining whether the request as a whole can be handled at the system. In one embodiment, the service allows for…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06Q30/0645. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 03 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).