# US 7,613,946 B2 · Apparatus, system, and method for recovering a multivolume data set

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,613,946 B2
- Document ID: US7613946B2
- Status: Granted
- Kind: B2
- Application number: 11/531,857
- Filed: 2006-09-14
- Published: 2008-05-29
- Granted: 2009-11-03
- Earliest claimed: 2006-09-14
- Assignees: International Business Machines Corporation
- Inventors: Lyn Lequam Ashton; John Glenn Thompson; Henry Verdugo Valenzuela; Glenn Randle Wilcock
- Web page: https://patentgrep.com/patent/US7613946B2

## CPC

- G06F 11/1469: {Backup restoration techniques}
- G06F 11/1456: {Hardware arrangements for backup}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An apparatus, system, and method are disclosed for recovering multivolume data. In one embodiment, a backup module physically backs up a plurality of source volumes to plurality of backup volumes. A data set size module may also capture a data set size for a data set during the physical backup. A retrieval module retrieves metadata for the data set from a catalog. A location module locates the data set on the plurality of backup volumes using the metadata. A recovery module recovers the data set as a recovered data set from the plurality of backup volumes. In one embodiment, a verification module verifies that the recovered data set is successfully recovered.

## Claims

### Claim 1

An apparatus to recover multivolume data, the apparatus comprising:
a storage device storing executable code;
a processor executing the executable code, the executable code comprising
a backup module physically backing up a plurality of source volumes to a plurality of backup volumes, the plurality of source volumes comprising a data set, wherein source volume metadata specifying a location for the data set on the plurality of source volumes is stored in a catalog and no backup volume metadata locates a backup copy of the data set on the plurality of backup volumes;
a retrieval module retrieving the source volume metadata for the data set from the catalog;
a location module locating the backup copy of the data set on the plurality of backup volumes using the source volume metadata; and
a recovery module recovering the data set as a recovered data set from the backup copy of the data set on the plurality of backup volumes.

### Claim 2 (depends on 1)

The apparatus of claim 1, the executable code further comprising a verification module verifying that the recovered data set is successfully recovered.

### Claim 3 (depends on 2)

The apparatus of claim 2, the executable code further comprising a data set size module capturing a data set size for the data set during the physical backup.

### Claim 4 (depends on 3)

The apparatus of claim 3, wherein the verification module is further configured to verify that the data set is successfully recovered by determining that a total allocated space for the recovered data set is substantially equivalent to the data set size.

### Claim 5 (depends on 3)

The apparatus of claim 3, wherein the data size comprises a data component size and an index component size for each backup volume, the total allocated space for the recovered data set comprises a data component size and an index component size, and the verification module verifies that the data set is successfully recovered by determining that a sum of the data set data component sizes for the backup volumes is substantially equivalent to the total allocated space data component size and that a sum of the data set index component sizes for the backup volumes is substantially equivalent to the total allocated space index component size.

### Claim 6 (depends on 3)

The application of claim 3, wherein the data set instance is stored on the plurality of source volumes as a plurality of stripes and wherein the data set size module is configured to capture a data set stripe size for each stripe of the data set and a number of stripes for the data set during the physical backup and the verification module verifies that the data set is successfully recovered by determining that a total allocated space for each stripe of the recovered data set is substantially equivalent to each corresponding data set stripe size and a number of recovered stripes is substantially equivalent to the number of stripes for the data set.

### Claim 7

A computer useable medium storing a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:
physically back up a plurality of source volumes to a plurality of backup volumes, the plurality of source volumes comprising a data set, wherein source volume metadata specifying a location for the data set on the plurality of source volumes is stored in a catalog and no backup volume metadata locates a backup copy of the data set on the plurality of backup volumes;
retrieve the source volume metadata for the data set from the catalog;
locate the backup copy of the data set on the plurality of backup volumes using the source volume metadata; and
recover the data set as a recovered data set from the backup copy of the data set on the plurality of backup volumes.

### Claim 8 (depends on 7)

The computer useable medium of claim 7, wherein the computer readable code further causes the computer to verify that the recovered data set is successfully recovered.

### Claim 9 (depends on 8)

The computer useable medium of claim 8, wherein the computer readable code further causes the computer to physically back up the plurality of source volumes to the plurality of backup volumes by copying each data block of the plurality of source volumes to a corresponding data block location on the plurality of backup volumes.

### Claim 10 (depends on 9)

The computer useable medium of claim 9, wherein the computer readable code further causes the computer to capture a data set size for the data set during the physical backup.

### Claim 11 (depends on 10)

The computer useable medium of claim 10, wherein the computer readable code further causes the computer to verify that the data set is successfully recovered by determining that a total allocated space for the recovered data set is substantially equivalent to the data set size.

### Claim 12 (depends on 10)

The computer useable medium of claim 10, wherein the data size comprises a data component size and an index component size for each backup volume and the total allocated space for the recovered data set comprises a data component size and an index component size and the computer readable code is further configured to cause the computer to verify that the data set is successfully recovered by determining that a sum of the data set data component sizes for the backup volumes is substantially equivalent to the total allocated space data component size and that a sum of the data set index component sizes for the backup volumes is substantially equivalent to the total allocated space index component size.

### Claim 13 (depends on 8)

The computer useable medium of claim 8, wherein the data set is stored on the plurality of source volumes as a plurality of stripes and wherein the computer readable code is further configured to cause the computer to capture a data set stripe size for each stripe of the data set and a number of stripes for the data set during the physical backup and to verify that the data set is successfully recovered by determining that a total allocated space for each stripe of the recovered data set is substantially equivalent to each corresponding data set stripe size and a number of recovered stripes is substantially equivalent to the number of stripes for the data set.

### Claim 14 (depends on 8)

The computer useable medium of claim 8, wherein the computer readable code further causes the computer to verify that the data set is successfully recovered by determining that a total allocated space for the recovered data set is substantially equivalent to a total allocated space for the data set at the time of the backup operation, even if not all of the source volumes that the data set is cataloged to at the time of the recovery contained backup data for the data set.

### Claim 15 (depends on 8)

The computer useable medium of claim 8, wherein the computer readable code further causes the computer to verify that the data set is successfully recovered by determining that each volume of a volume sequence for the data set is recovered, that a first volume of the volume sequence is recovered, that the volume sequences are contiguous, and that at least one volume has a last volume indicator set.

### Claim 16

A system to recover a multivolume data set, the system comprising:
a plurality of source volumes configured to store an instance of a data set;
a plurality of backup volumes configured to store a backup copy the data set;
a catalog configured to store source volume metadata specifying a location for the data set stored on the plurality of source volumes;
a storage controller configured to manage the plurality of source volumes, the plurality of backup volumes, and the catalog, and comprising a storage device storing executable code and a processor executing the executable code, the executable code comprising
a backup module physically backing up the plurality of source volumes to the plurality of backup volumes, wherein no backup volume metadata locates the backup copy of the data set on the plurality of backup volumes;
a retrieval module retrieving the source volume metadata for the data set from the catalog;
a location module locating the backup copy of the data set on the plurality of backup volumes using the source volume metadata;
a recovery module recovering the data set as a recovered data set from the backup copy of the data set on the plurality of backup volumes; and
a verification module verifying that the recovered data set is successfully recovered.

### Claim 17 (depends on 16)

The system of claim 16, the executable code further comprising a data set size module capturing a data set size for the data set during the physical backup.

### Claim 18 (depends on 17)

The system of claim 17, wherein the verification module verifies that the data set is successfully recovered by determining that a total allocated space for the recovered data set is substantially equivalent to the data set size.

### Claim 19

A method for deploying computer infrastructure, comprising integrating computer-readable code into a computing system, wherein the code executed by the computing system performs the following:
physically backing up a plurality of source volumes to a plurality of backup volumes, the plurality of source volumes comprising a data set, wherein source volume metadata specifying a location for the data set on the plurality of source volumes is stored in a catalog and no backup volume metadata locates a backup copy of the data set on the plurality of backup volumes;
capturing a data set size for the data set instance during the physical backup;
retrieving the source volume metadata for the data set from the catalog;
locating the backup copy of the data set on the plurality of backup volumes using the source volume metadata;
recovering the data set as a recovered data set from the backup copy of the data set on the plurality of backup volumes; and
verifying that the recovered data set is successfully recovered.

### Claim 20 (depends on 1)

The apparatus of claim 1, wherein the backup module physically backs up the plurality of source volumes to the plurality of backup volumes by copying each data block of the plurality of source volumes to a corresponding data block location on the plurality of backup volumes.
