Block-storage service supporting multi-attach and health check failover mechanism
US-11461156-B2 · Oct 4, 2022 · US
US12265443B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12265443-B2 |
| Application number | US-202217937389-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 30, 2022 |
| Priority date | Sep 4, 2019 |
| Publication date | Apr 1, 2025 |
| Grant date | Apr 1, 2025 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A block-based storage system hosts logical volumes that are implemented via multiple replicas of volume data stored on multiple resource hosts in different failure domains. Also, the block-based storage service allows multiple client computing devices to attach to a same given logical volume at the same time. In order to prevent unnecessary failovers, a primary node storing a primary replica is configured with a health check application programmatic interface (API) and a secondary node storing a secondary replica determines whether or not to initiate a failover based on the health of the primary replica.
Opening claim text (preview).
What is claimed is: 1. A system, comprising: a set of computing devices configured to implement a block storage service, wherein the block storage service is configured to: attach multiple virtual machines to a volume of the block-storage service, wherein the volume appears as a locally attached storage device to each of the multiple virtual machines; perform a read received from a first one of the virtual machines while the volume remains attached to the multiple virtual machines; and perform a read received from a second one of the virtual machines while the volume remains attached to the multiple virtual machines. 2. The system of claim 1 , wherein the block storage service is further configured to: receive a write request from a third one of the multiple virtual machines attached to the volume and commit a write included in the write request to the volume, wherein the multiple virtual machines remain attached to the volume while receiving and committing the write; and receive a second write request from a fourth one of the multiple virtual machines attached to the volume and commit another write included in the second write request to the volume, wherein the multiple virtual machines remain attached to the volume while receiving and committing the other write. 3. The system of claim 1 , wherein the read from the first virtual machine or the read from the second virtual machine are formatted using a small computer system interface (SCSI) format. 4. The system of claim 1 , further comprising: network-accessible computing resources configured to implement a cloud provider network, wherein the set of computing devices configured to implement the block storage service are included in the cloud provider network. 5. The system of claim 4 , further comprising: an additional set of computing devices configured to implement a virtual compute service, wherein the additional set of computing devices configured to implement the virtual compute service are included in the cloud provider network, and wherein the multiple virtual machines attached to the volume are compute instances provided by the virtual compute service of the cloud provider network. 6. The system of claim 1 , wherein the set of computing devices configured to implement the block storage service comprise: a first set of computing devices in a first availability zone of the cloud provider network; a second set of computing devices in a second availability zone of the cloud provider network; and a third set of computing devices in a third availability zone of the cloud provider network, wherein the block storage service is configured to store replicas of respective blocks of the volume in each of the three availability zones of the cloud provider network. 7. The system of claim 6 , wherein the first, second, and third sets of computing devices comprise solid-state drives that store replicated data for the replicas of the respective blocks of the volume in each of the three availability zones. 8. A method, comprising: attaching multiple virtual machines to a volume of a block-storage service, wherein the volume appears as a locally attached storage device to each of the multiple virtual machines; performing a read received from a first one of the multiple virtual machines while the volume remains attached to the multiple virtual machines; and performing a read received from a second one of the multiple virtual machines while the volume remains attached to the multiple virtual machines. 9. The method of claim 8 , wherein the read from the first virtual machine or the read from the second virtual machine are formatted using a small computer system interface (SCSI) format. 10. The method of claim 8 , wherein: the block storage service is implemented in a cloud provider network; and the multiple virtual machines are compute instances of a virtualized computing service implemented in the cloud provider network. 11. The method of claim 8 , further comprising: committing a write received from a third one of the multiple virtual machines while the volume remains attached to the multiple virtual machines; and committing a write received from a fourth one of the multiple virtual machines while the volume remains attached to the multiple virtual machines. 12. The method of claim 8 , wherein the block storage service is a service provided by a cloud provider network. 13. The method of claim 12 , wherein the first and second virtual machines are provided by a virtual computing service of the cloud provider network. 14. The method of claim 8 , further comprising: authorizing a membership group for the volume; and verifying, for a given one of the reads received from the first or second virtual machine, that a current sequence number for the membership group stored by a computing device of the block-storage service receiving the given read has not been superseded at other computing devices of the membership group prior to performing the given read. 15. The method of claim 14 , further comprising: verifying that a sequence number included with the given read is equal to or greater than a current sequence number for the volume stored by the computing device receiving the read from the first or second virtual machine; comparing the sequence number included with the read to sequence numbers stored by at least two other computing devices of the block-storage service storing replicas of the volume; and declining to perform the read in response to the first computing device or one of the at least two other computing devices storing a sequence number for the volume greater than the sequence number included with the given read. 16. The method of claim 8 , further comprising: receiving a write request from the first or the second one of the multiple virtual machines attached to the volume and performing a requested write for the volume while the multiple virtual machines remain attached to the volume; and receiving a second write request from a different one of the first or the second ones of the multiple virtual machines attached to the volume and performing another requested write for the volume while the multiple virtual machines remain attached to the volume. 17. One or more non-transitory, computer-readable, media storing program instructions, that when executed on or across one or more processors, cause the one or more processors to: perform a read received from a first one of multiple virtual machines attached to a volume while the volume remains attached to the multiple virtual machines; and perform a read received from a second one of the multiple virtual machines while the volume remains attached to the multiple virtual machines. 18. The one or more non-transitory, computer-readable, media of claim 17 , wherein the program instructions, when executed on or across the one or more processors, cause the one or more processors to: perform a write received from a third one of the multiple virtual machines attached to the volume while the volume remains attached to the multiple virtual machines; and perform a write received from a fourth one of the multiple virtual machines while the volume remains attached to the multiple virtual machines. 19. The one or more non-transitory, computer-readable, media of claim 17 , wherein the program instructions, when executed on or across the one or more processors, cause the one or more processors to: attach the multiple virtual machines to the volume, wherein the volume is a volume of a block-storage service, and wh
Hardware arrangements for backup · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
Memory management, e.g. access or allocation · CPC title
Hypervisor-specific management and integration aspects · CPC title
Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.