# US 2019/0171533 A1 · Using a forward log storage and backward log storage to recover a storage to a forward or backward point-in-time

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

- Number: US 2019/0171533 A1
- Document ID: US20190171533A1
- Status: Published application
- Kind: A1
- Application number: 16/265,990
- Filed: 2019-02-01
- Published: 2019-06-06
- Earliest claimed: 2016-11-17
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Theresa M. Brown; Nicolas M. Clayton; Gregory E. McBride; Carol S. Mellgren; David C. Reed
- Web page: https://patentgrep.com/patent/US20190171533A1

## CPC

- G06F 11/1469: {Backup restoration techniques}
- G06F 11/1448: {Management of the data involved in backup or backup restore}
- G06F 11/1471: involving logging of persistent data for recovery
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Provided are a computer program product, system, and method for using a forward log storage and backward log storage to recover a storage to a forward or backward point-in-time. In response to receiving writes to source data after establishing point-in-time copies, point-in-time data of the source data is copied to a backward log storage storing point-in-time data for multiple of the point-in-time copies. The point-in-time data in the backward log storage is applied to a recovery source data to roll-back the source data to a backward point-in-time of one of the point-in-time copies. Before applying the point-in-time data from the backward log storage, point-in-time data in the recovery source data, is copied to a forward log storage. The point-in-time data in the forward log storage is applied to the recovery source data to roll forward the recovery source data to a forward point-in-time subsequent to the backward point-in-time.

## Claims

### Claim at position 1

1-24. (canceled)

### Claim 25

A computer program product for managing point-in-time copies of a source storage, wherein the computer program product comprises a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause operations, the operations comprising:
copying point-in-time data of source data to a backward log storage;
copying point-in-time data in recovery source data, comprising the source data as of a previous point-in-time, to a forward log storage;
applying the point-in-time data in the backward log storage as of a backward point-in-time to the recovery source data copied to the forward log storage to roll back the source data to the backward point-in-time; and
applying the point-in-time data in the forward log storage to the recovery source data to roll forward the recovery source data to a forward point-in-time subsequent to the backward point-in-time.

### Claim 26 (depends on 25)

The computer program product of claim 25, wherein the operations further comprise:
receiving writes to the source data, wherein the point-in-time data of the source data is copied to the backward log storage before updating the source data with the received writes.

### Claim 27 (depends on 25)

The computer program product of claim 25, wherein the operations further comprise:
before applying the point-in-time data from the backward log storage, copying point-in-time data in the recovery source data, to be updated by the point-in-time data from the backward log storage, to the forward log storage.

### Claim 28 (depends on 25)

The computer program product of claim 25, wherein the backward log storage stores point-in-time data for multiple point-in-time copies of the source data at different point-in-times.

### Claim 29 (depends on 25)

The computer program product of claim 25, wherein for each instance of the point-in-time data copied to the backward log storage, generating metadata indicating a source data location in the source data from which the point-in-time data was copied, wherein the applying the backward log storage to roll-back the source data comprises copying the point-in-time data from the backward log storage to the source data location in the recovery source data indicated in metadata, and wherein, for each instance of the point-in-time data copied to the forward log storage, metadata is provided indicating a source data location in the source data from which the point-in-time data was copied, wherein the applying the forward log storage to roll-forward the recovery source data comprises copying the point-in-time data from the forward log storage to the source data location in the recovery source data indicated in metadata.

### Claim 30 (depends on 25)

The computer program product of claim 25, wherein the point-in-time data is written to the backward log storage at sequential data locations in an order in which the point-in-time data was updated at the source data, wherein the applying the backward log storage to roll-back the recovery source data comprises applying the point-in-time data from a most recent written location in the backward log storage, backward through sequential locations through a selected backward point-in-time copy prior to a current point-in-time of the source data, wherein the point-in-time data is written to the forward log storage at sequential data locations in an order in which the point-in-time data was rolled back at the recovery source data.

### Claim 31 (depends on 25)

The computer program product of claim 25, wherein the operations further comprise:
for each point-in-time copy of a plurality of point-in-time copies, including in backward recovery metadata an entry including a first location and a last location in the backward log storage having point-in-time data for the point-in-time copy, wherein the applying the backward log storage to roll-back the source data comprises copying the point-in-time data to the recovery source data from the first location through the last location in the backward log storage indicated in the entry in the backward recovery metadata for each point-in-time copy used to roll-back the source data in the recovery source data.

### Claim 32

A system for managing point-in-time copies of a source storage, comprising:
a processor; and
a computer readable storage medium having program instructions embodied therewith, the program instructions executable by the processor to cause operations, the operations comprising:
copying point-in-time data of source data to a backward log storage;
copying point-in-time data in recovery source data, comprising the source data as of a previous point-in-time, to a forward log storage;
applying the point-in-time data in the backward log storage as of a backward point-in-time to the recovery source data copied to the forward log storage to roll back the source data to the backward point-in-time; and
applying the point-in-time data in the forward log storage to the recovery source data to roll forward the recovery source data to a forward point-in-time subsequent to the backward point-in-time.

### Claim 33 (depends on 32)

The system of claim 32, wherein the operations further comprise:
receiving writes to the source data, wherein the point-in-time data of the source data is copied to the backward log storage before updating the source data with the received writes.

### Claim 34 (depends on 32)

The system of claim 32, wherein the operations further comprise:
before applying the point-in-time data from the backward log storage, copying point-in-time data in the recovery source data, to be updated by the point-in-time data from the backward log storage, to the forward log storage.

### Claim 35 (depends on 32)

The system of claim 32, wherein the backward log storage stores point-in-time data for multiple point-in-time copies of the source data at different point-in-times.

### Claim 36 (depends on 32)

The system of claim 32, wherein for each instance of the point-in-time data copied to the backward log storage, generating metadata indicating a source data location in the source data from which the point-in-time data was copied, wherein the applying the backward log storage to roll-back the source data comprises copying the point-in-time data from the backward log storage to the source data location in the recovery source data indicated in metadata, and wherein, for each instance of the point-in-time data copied to the forward log storage, metadata is provided indicating a source data location in the source data from which the point-in-time data was copied, wherein the applying the forward log storage to roll-forward the recovery source data comprises copying the point-in-time data from the forward log storage to the source data location in the recovery source data indicated in metadata.

### Claim 37 (depends on 32)

The system of claim 32, wherein the point-in-time data is written to the backward log storage at sequential data locations in an order in which the point-in-time data was updated at the source data, wherein the applying the backward log storage to roll-back the recovery source data comprises applying the point-in-time data from a most recent written location in the backward log storage, backward through sequential locations through a selected backward point-in-time copy prior to a current point-in-time of the source data, wherein the point-in-time data is written to the forward log storage at sequential data locations in an order in which the point-in-time data was rolled back at the recovery source data.

### Claim 38 (depends on 32)

The system of claim 32, wherein the operations further comprise:
for each point-in-time copy of a plurality of point-in-time copies, including in backward recovery metadata an entry including a first location and a last location in the backward log storage having point-in-time data for the point-in-time copy, wherein the applying the backward log storage to roll-back the source data comprises copying the point-in-time data to the recovery source data from the first location through the last location in the backward log storage indicated in the entry in the backward recovery metadata for each point-in-time copy used to roll-back the source data in the recovery source data.

### Claim 39

A method for managing point-in-time copies of a source storage, comprising:
copying point-in-time data of source data to a backward log storage;
copying point-in-time data in recovery source data, comprising the source data as of a previous point-in-time, to a forward log storage;
applying the point-in-time data in the backward log storage as of a backward point-in-time to the recovery source data copied to the forward log storage to roll back the source data to the backward point-in-time; and
applying the point-in-time data in the forward log storage to the recovery source data to roll forward the recovery source data to a forward point-in-time subsequent to the backward point-in-time.

### Claim 40 (depends on 39)

The method of claim 39, further comprising:
receiving writes to the source data, wherein the point-in-time data of the source data is copied to the backward log storage before updating the source data with the received writes.

### Claim 41 (depends on 39)

The method of claim 39, further comprising:
before applying the point-in-time data from the backward log storage, copying point-in-time data in the recovery source data, to be updated by the point-in-time data from the backward log storage, to the forward log storage.

### Claim 42 (depends on 39)

The method of claim 39, wherein the backward log storage stores point-in-time data for multiple point-in-time copies of the source data at different point-in-times.

### Claim 43 (depends on 39)

The method of claim 39, wherein for each instance of the point-in-time data copied to the backward log storage, generating metadata indicating a source data location in the source data from which the point-in-time data was copied, wherein the applying the backward log storage to roll-back the source data comprises copying the point-in-time data from the backward log storage to the source data location in the recovery source data indicated in metadata, and wherein, for each instance of the point-in-time data copied to the forward log storage, metadata is provided indicating a source data location in the source data from which the point-in-time data was copied, wherein the applying the forward log storage to roll-forward the recovery source data comprises copying the point-in-time data from the forward log storage to the source data location in the recovery source data indicated in metadata.

### Claim 44 (depends on 39)

The method of claim 39, wherein the point-in-time data is written to the backward log storage at sequential data locations in an order in which the point-in-time data was updated at the source data, wherein the applying the backward log storage to roll-back the recovery source data comprises applying the point-in-time data from a most recent written location in the backward log storage, backward through sequential locations through a selected backward point-in-time copy prior to a current point-in-time of the source data, wherein the point-in-time data is written to the forward log storage at sequential data locations in an order in which the point-in-time data was rolled back at the recovery source data.
