Distributed computer system snapshots and instantiation thereof
AssigneeAmazon Technologies, Inc.
InventorsAparna Nagargadde, Michael B. Furr
Life of this patent
Estimating the term…
Abstract
Distributed computer systems prepare and instantiate snapshots by processing sets of nodes representing computer resources that are portions of a larger system. A user may choose to prepare or instantiate a snapshot containing all or only a portion of the data within the distributed computer system, such as a template of the distributed computer system. A template snapshot may be available in an electronic marketplace for other users to purchase and instantiate into a replica of the distributed computer system.
Claims26
A computer-implemented method for performing a snapshot of a distributed computing environment at a point in time, the method comprising:
- under control of one or more computer systems configured with executable instructions,
- receiving a request to prepare a snapshot of a network of computing resources according to one or more specified data selection parameters;
- generating information representative of at least a topology of the network of computing resources;
- traversing at least a portion of the topology of the network of computing resources to generate one or more data set representations of one or more of the computing resources according to the one or more specified data selection parameters;
- and
- providing the generated information and generated one or more data set representations in a manner enabling one or more computing resource provisioning computer systems to instantiate a replica of the network of computing resources based at least in part on the provided generated information and generated one or more data set representations.
A computer-implemented method for performing a snapshot representation of a distributed computing environment at a point in time, the method comprising:
- under control of one or more computer systems configured with executable instructions,
- determining a level of a hierarchy of information in the distributed computing environment to store in a combined snapshot, the distributed computing environment including a set of computing resources;
- for each computing resource in at least a subset of the set of computing resources,
- determining snapshot information within the computing resource matching the level of the hierarchy;
- storing the determined snapshot information matching the level of the hierarchy in one or more stored nodes, the one or more stored nodes held within the combined snapshot;
- and
- preparing the combined snapshot of the one or more stored nodes, the combined snapshot including a structure of the distributed computing environment.
A system for preparing a snapshot of a distributed computing environment at a point in time, comprising:
- at least one processor;
- and
- memory including instructions that, when executed by the at least one processor, cause the system to prepare a snapshot of a distributed computing system that causes at least the following to be performed:
- receiving a request for a snapshot of a distributed computing environment, the distributed computing environment including a first computing resource, wherein the first computing resource contains a first set of one or more secondary computing resources, wherein each of the one or more secondary computing resources of the first set of one or more secondary computing resources contains zero or more secondary computing resources, the secondary computing resources forming a set of secondary computing resources;
- saving a representation of the first computing resource;
- traversing at least part of the set of secondary computing resources to save at least one representation of at least one secondary computing resource of the set of secondary computing resources during the traverse;
- marking a portion of the at least one representation as a template portion of the snapshot;
- and
- associating the representations of the first and secondary computing resources together as a snapshot.
One or more non-transitory computer-readable storage media having collectively stored thereon executable instructions that, when executed by one or more processors of a computer system, cause the computer system to at least:
- receiving a request to restore a snapshot of a network of computing resources according to one or more specified data selection parameters;
- traversing a least a portion of nodes in a snapshot to determine an order of instantiation, at least one node forming a representation of a computing resource, the order of instantiation based at least in part on dependencies between the representations of computing resources;
- causing one or more of the representations of computing resources to be provisioned according to the one or more specified data selection parameters and the order of instantiation;
- and
- restoring the provisioned one or more representations to instantiate a replica of the network of computing resources represented in the snapshot based at least in part on the one or more representations of computing resources in the snapshot.
Dependencies are inferred from the claim text.