Multi-client cluster-based backup and restore
AssigneeMicrosoft Corporation
InventorJames M. Lyon
Life of this patent
Estimating the term…
Abstract
Backup and restore technology comprising a backup engine, one or more client backup modules coupled to the backup engine via a backup protocol, and a backup database coupled to the backup engine, the backup database including a set of clusters, the set of clusters forming one or more backups, wherein each cluster of the set of clusters is unique such that single-instance storage across clients is achieved.
Claims20
A backup system comprising:
- a backup engine;
- a backup protocol configured to couple a client backup module to the backup engine;
- a backup database coupled to the backup engine, the backup database comprising a first set of clusters, the first set of clusters forming one or more backups, wherein each cluster of the first set of clusters is unique such that single-instance storage across clients is achieved;
- a processor;
- and
- a memory operatively connected to the processor, the memory having computer-executable instructions that when executed by the processor provide:
- the backup engine configured to:
- receive from the client backup module a set of current cluster hashes, wherein each one of the set of current cluster hashes is calculated based on a corresponding one of a plurality of clusters of one or more storage devices, and wherein each one of the set of current cluster hashes uniquely identifies the corresponding one of the plurality of clusters;
- reduce the set of current cluster hashes to include only those not already stored in the backup database, resulting in a reduced set of cluster hashes;
- receive from the client backup module a reduced set of clusters of the plurality of clusters identified by the reduced set of cluster hashes;
- and
- store in the backup database the reduced set of clusters, wherein each cluster stored in the backup database is unique, wherein single instance storage in the backup database is provided.
A computer-readable medium encoded with computer-executable instructions embodying a backup system comprising a backup engine, the backup engine configured to:
- communicate with a client backup module via a backup protocol;
- communicate with a backup database, the backup database comprising a first set of clusters, the first set of clusters forming one or more backups, wherein each cluster of the first set of clusters is unique such that single-instance storage across clients is achieved;
- receive from the client backup module a set of current cluster hashes, wherein each one of the set of current cluster hashes is calculated based on a corresponding one of a plurality of clusters of one or more storage devices, and wherein each one of the set of current cluster hashes uniquely identifies the corresponding one of the plurality of clusters;
- reduce the set of current cluster hashes to include only those not already stored in the backup database, resulting in a reduced set of cluster hashes;
- receive from the client backup module a reduced set of clusters of the plurality of clusters identified by the reduced set of cluster hashes;
- and
- store in the backup database the reduced set of clusters, wherein each cluster stored in the backup database is unique, wherein single instance storage in the backup database is provided.
A restore system comprising:
- a backup engine;
- a backup protocol configured to couple a client backup module to the backup engine;
- a backup database coupled to the backup engine, the backup database comprising a first set of clusters, the first set of clusters forming one or more backups, wherein each cluster of the first set of clusters is unique such that single-instance storage across clients is achieved;
- a processor;
- and
- a memory operatively connected to the processor, the memory having computer-executable instructions that when executed by the processor cause the backup engine to:
- receive a request from the client restore module for a range of cluster data, wherein each one of the range of cluster data uniquely corresponds to a cluster of a storage device;
- send to the client restore module, for each cluster in the range of clusters requested, a message;
- and
- wherein the message includes an indication of a condition of the cluster data.
Dependencies are inferred from the claim text.