Snapshot lineage preservation for representation-based partitions
First Claim
1. A computer-implemented method, comprising:
- determining, based at least in part on a request to generate a snapshot of a block device, routing metadata comprising first metadata and second metadata, the first metadata corresponding to a first cell corresponding to a first set of hosts that store data content of the block device and the second metadata corresponding to a second cell corresponding to a second set of hosts that store the data content of the block device;
transmitting a second request to the first set of hosts and to the second set of hosts to cause the first set of hosts to generate a first response and to cause the second set of hosts to generate a second response, the first response corresponding to a first state of the block device and the second response corresponding to a second state of the block device;
determining, based at least in part on the first state, the second state, and a predetermined set of rules defining operations corresponding to a plurality of outcomes associated with the first state and the second state whereby the plurality of outcomes corresponds to preservation of a lineage of snapshots for block devices in the first set of hosts and the second set of hosts, a set of the operations, wherein the set of operations are performable to identify a cell, from the first cell and the second cell, corresponding to a set of hosts, from the first set of hosts and the second set of hosts, that store the data content of the block device;
performing a subset of the set of the operations to identify the cell, wherein the subset of the set of the operations corresponds to at least one outcome from the plurality of outcomes;
causing the set of hosts to generate the snapshot of the block device in the cell; and
updating the first state and the second state based at least in part on an outcome of generating the snapshot.
1 Assignment
0 Petitions
Accused Products
Abstract
A router of a block-level data storage service receives a request to generate a snapshot of a block device. The router, based on routing metadata for the block-level data storage service, identifies active metadata that indicates a first cell that may maintain the block device and alternate metadata that indicates a second cell that may maintain the block device. Based on a first state of the block device in the first cell, a second state of the block device in the second cell, and a predetermined set of rules defining operations corresponding to outcomes associated with the first state and the second state, the router determines which of the first cell and the second cell authoritatively maintains the block device. The router transmits the request to the appropriate cell in accordance with the predetermined set of rules.
-
Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
determining, based at least in part on a request to generate a snapshot of a block device, routing metadata comprising first metadata and second metadata, the first metadata corresponding to a first cell corresponding to a first set of hosts that store data content of the block device and the second metadata corresponding to a second cell corresponding to a second set of hosts that store the data content of the block device; transmitting a second request to the first set of hosts and to the second set of hosts to cause the first set of hosts to generate a first response and to cause the second set of hosts to generate a second response, the first response corresponding to a first state of the block device and the second response corresponding to a second state of the block device; determining, based at least in part on the first state, the second state, and a predetermined set of rules defining operations corresponding to a plurality of outcomes associated with the first state and the second state whereby the plurality of outcomes corresponds to preservation of a lineage of snapshots for block devices in the first set of hosts and the second set of hosts, a set of the operations, wherein the set of operations are performable to identify a cell, from the first cell and the second cell, corresponding to a set of hosts, from the first set of hosts and the second set of hosts, that store the data content of the block device; performing a subset of the set of the operations to identify the cell, wherein the subset of the set of the operations corresponds to at least one outcome from the plurality of outcomes; causing the set of hosts to generate the snapshot of the block device in the cell; and updating the first state and the second state based at least in part on an outcome of generating the snapshot. - View Dependent Claims (2, 3, 4)
-
-
5. A system, comprising:
-
one or more processors; and memory that stores computer-executable instructions that, as a result of being executed, cause the system to; determine, based at least in part on meta data corresponding to a resource, a first location of the resource and a second location of the resource, the first location and the second location being distinct; determine a first state of the resource in the first location and a second state of the resource in the second location; identify, based at least in part on the first state, the second state, and a predetermined set of rules defining operations corresponding to a plurality of outcomes associated with the first state and the second state whereby the plurality of outcomes corresponds to preservation of a lineage of snapshots for resources in the first location and the second location, an authoritative location of the resource; and transmit a request to a set of hosts of the authoritative location of the resource to perform, using the resource, an operation. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable storage medium having stored storing thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:
-
determine, based at least in part on a request to perform an operation on a resource, a first location of the resource and a second location of the resource; process responses from the first location and the second location to determine a first state of the resource and a second state of the resource; determine, based at least in part on the first state, the second state, and a predetermined set of rules defining operations corresponding to a plurality of outcomes associated with the first state and the second state whereby the plurality of outcomes corresponds to preservation of a lineage of snapshots for resources in the first location and the second location, if the resource is stored in the first location or in the second location, resulting in a determination; and perform a set of operations in accordance with the determination. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification