US 12,423,192 B2
Providing executing programs with access to stored block data of others
Peter N. DeSantis, Cape Town (ZA); Atle Normann Jorgensen, Cape Town (ZA); Matthew S. Garman, Seattle, WA (US); Tate Andrew Certain, Seattle, WA (US); and Roland Paterson-Jones, Cape Town (ZA)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Dec. 9, 2022, as Appl. No. 18/064,188.
Application 18/064,188 is a continuation of application No. 16/907,116, filed on Jun. 19, 2020, granted, now 11,526,407.
Application 16/907,116 is a continuation of application No. 15/424,574, filed on Feb. 3, 2017, granted, now 10,691,554, issued on Jun. 23, 2020.
Application 15/424,574 is a continuation of application No. 14/246,876, filed on Apr. 7, 2014, granted, now 9,569,123, issued on Feb. 14, 2017.
Application 14/246,876 is a continuation of application No. 12/188,952, filed on Aug. 8, 2008, granted, now 8,725,967, issued on May 13, 2014.
Prior Publication US 2023/0107188 A1, Apr. 6, 2023
Int. Cl. G06F 11/14 (2006.01); G06F 3/06 (2006.01); G06F 11/20 (2006.01)
CPC G06F 11/1464 (2013.01) [G06F 3/0619 (2013.01); G06F 3/0622 (2013.01); G06F 3/065 (2013.01); G06F 3/067 (2013.01); G06F 11/1461 (2013.01); G06F 11/2071 (2013.01); G06F 2201/84 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system, comprising:
one or more computers comprising one or more respective processors and memory that implement a private block data storage service at a private data center operated by and on behalf of a single organization, the private block data storage service configured to:
in response to one or more requests received via an application programming interface (API) of the private block data storage service:
provision a volume on behalf of a client, wherein the volume is created on one or more first block data storage systems located at the private data center of the client, wherein the volume is attached to a first group of virtual machine compute nodes hosted at the private data center, and wherein the first group of virtual machine compute nodes execute copies of a program to provide access to the volume; and
provision a mirror volume for the volume, wherein the mirror volume is created on one or more second block data storage systems at a geographic location remote from the private data center, wherein the mirror volume is attached to a second group of virtual machine compute nodes that execute copies of the program to provide access to the volume, and wherein the mirror volume is to be kept consistent with the volume by the block data storage service;
service data access requests to the volume using the first group of virtual machine compute nodes, wherein the data access requests are received by the private block data storage service over a network, wherein the private block data storage service load balances the data access requests among the first group of virtual machine compute nodes that execute copies of the program to provide access to the volume, and wherein the private block data storage service collects and stores audit data about the volume that tracks at least some of the data access requests performed on the volume by different users;
send an update message to the one or more second block data storage systems when data in the volume is modified, wherein the update message causes the one or more second block data storage systems to replicate the modifications of the volume to the mirror volume; and
after a promotion of the mirror volume to act as the volume in response to an unavailability of the volume, service additional data access requests using the mirror volume attached to the second group of virtual machine compute nodes that execute copies of the program to provide access to the volume.