Control plane for block storage service distributed across a cloud provider substrate and a substrate extension

US10949131B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10949131-B2
Application numberUS-201916457853-A
CountryUS
Kind codeB2
Filing dateJun 28, 2019
Priority dateJun 28, 2019
Publication dateMar 16, 2021
Grant dateMar 16, 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.

A first request to create a first storage volume to store a first portion of a first logical volume is received by a first block storage server instance. A second request to create a second storage volume to store a second portion of the first logical volume is received by a second block storage server instance. A third request is sent to a third block storage server instance to create a third storage volume to store the second portion of the first logical volume. The second portion of the first logical volume is stored by the third block storage server instance to the third storage volume. A data store containing an identification of each block storage server instance hosting a portion of the first logical volume is updated to remove an identification of the second block storage server instance and add an identification of the third block storage server instance.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: receiving, by a first block storage server instance, a first request to create a first storage volume to store a first portion of a first logical volume; receiving, by a second block storage server instance, a second request to create a second storage volume to store a second portion of the first logical volume; sending a third request to a third block storage server instance to create a third storage volume to store the second portion of the first logical volume; storing, by the third block storage server instance, the second portion of the first logical volume to the third storage volume; updating a data store containing an identification of each block storage server instance hosting a portion of the first logical volume to remove an identification of the second block storage server instance and add an identification of the third block storage server instance; and wherein the first block storage server instance, the second block storage server instance, and the third block storage server instance are hosted by one or more computer systems of an extension of a provider network, wherein the first request and the second request are sent from a block storage service of the provider network, and wherein the extension of the provider network is in communication with the provider network via at least an intermediate network. 2. The computer-implemented method of claim 1 , further comprising: receiving, by a block storage client, the identification of each block storage server instance hosting a portion of the first logical volume from the data store; establishing, by the block storage client, a connection to at least one block storage server instance included in the identification; receiving, by the block storage client, a first block storage operation from another instance, the first block storage operation to write a block of data to a block address of a virtual block storage device; and sending, by the block storage client, a message to the at least one block storage server instance via the connection to cause the at least one block storage server instance to write the block of data to the block address of the first storage volume. 3. The computer-implemented method of claim 2 , wherein the data store is a distributed data store comprising a plurality of nodes that independently execute a consensus protocol to update the identification. 4. The computer-implemented method of claim 3 , further comprising obtaining, by the block storage client, an identification of each node of the plurality of nodes from a service. 5. The computer-implemented method of claim 3 , wherein a node of the plurality of nodes is executed within a container hosted by the first block storage server instance. 6. The computer-implemented method of claim 5 , further comprising broadcasting, by the block storage client, a request for an identification of any node of the plurality of nodes to a plurality of block storage server instances. 7. The computer-implemented method of claim 1 , further comprising polling the first block storage server instance and the second block storage server instance for responsiveness, wherein the third request is sent in response to a determination that the second block storage server instance is unresponsive. 8. The computer-implemented method of claim 1 , wherein the first storage volume is striped across a plurality of block storage server instances and each of the plurality of block storage server instances are included in the identification. 9. The computer-implemented method of claim 1 , wherein the intermediate network is a third-party network. 10. A system comprising: one or more computing devices of an extension of a provider network, wherein the extension of the provider network is to communicate with the provider network via at least an intermediate network, and wherein the one or more computing devices include instructions that upon execution on one or more processors cause the one or more computing devices to: receive, by a first block storage server instance, a first request to create a first storage volume to store a first portion of a first logical volume; receive, by a second block storage server instance, a second request to create a second storage volume to store a second portion of the first logical volume; send a third request to a third block storage server instance to create a third storage volume to store the second portion of the first logical volume; store, by the third block storage server instance, the second portion of the first logical volume to the third storage volume; update a data store containing an identification of each block storage server instance hosting a portion of the first logical volume to remove an identification of the second block storage server instance and add an identification of the third block storage server instance; and wherein the first request and the second request are sent from a block storage service of the provider network. 11. The system of claim 10 , wherein the one or more computing devices include further instructions that upon execution on the one or more processors cause the one or more computing devices to: receive, by a block storage client, the identification of each block storage server instance hosting a portion of the first logical volume from the data store; establish, by the block storage client, a connection to at least one block storage server instance included in the identification; receive, by the block storage client, a first block storage operation from another instance, the first block storage operation to write a block of data to a block address of a virtual block storage device; and send, by the block storage client, a message to the at least one block storage server instance via the connection to cause the at least one block storage server instance to write the block of data to the block address of the first storage volume. 12. The system of claim 11 , wherein the data store is a distributed data store comprising a plurality of nodes that independently execute a consensus protocol to update the identification. 13. The system of claim 12 , wherein the one or more computing devices include further instructions that upon execution on the one or more processors cause the one or more computing devices to obtain, by the block storage client, an identification of each node of the plurality of nodes from a service. 14. The system of claim 12 , wherein a node of the plurality of nodes is executed within a container hosted by the first block storage server instance. 15. The system of claim 14 , wherein the one or more computing devices include further instructions that upon execution on the one or more processors cause the one or more computing devices to broadcast, by the block storage client, a request for an identification of any node of the plurality of nodes to a plurality of block storage server instances. 16. The system of claim 10 , wherein the one or more computing devices include further instructions that upon execution on the one or more processors cause the one or more computing devices to poll the first block storage server instance and the second block storage server instance for responsiveness, wherein the third request is sent in response to a determination that the second block storage server instance is unresponsive. 17. The system of claim 10 , wherein the first storage volume is striped across a plurality of block storage server instances and each of the plurality of block storage server instances are includ

Assignees

Inventors

Classifications

  • G06F3/0665Primary

    at area level, e.g. provisioning of virtual or logical volumes · CPC title

  • Permissions · CPC title

  • by changing the path, e.g. traffic rerouting, path reconfiguration · CPC title

  • by allocating resources to storage systems · CPC title

  • in relation to availability · 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 US10949131B2 cover?
A first request to create a first storage volume to store a first portion of a first logical volume is received by a first block storage server instance. A second request to create a second storage volume to store a second portion of the first logical volume is received by a second block storage server instance. A third request is sent to a third block storage server instance to create a third …
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0665. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 16 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). 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).