# US 2010/0169587 A1 · Causation of a data read against a first storage system to optionally store a data write to preserve the version to allow viewing and recovery

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

- Number: US 2010/0169587 A1
- Document ID: US20100169587A1
- Status: Published application
- Kind: A1
- Application number: 12/344,323
- Filed: 2008-12-26
- Published: 2010-07-01
- Earliest claimed: 2008-12-26
- Assignees: Inmage Systems, Inc.
- Inventors: RAJEEV ATLURI; Anup S. Tirumala
- Web page: https://patentgrep.com/patent/US20100169587A1

## CPC

- G06F 11/2087: {with a common controller}
- G06F 11/1456: {Hardware arrangements for backup}
- G06F 11/1464: {for networked environments}
- G06F 11/1471: involving logging of persistent data for recovery
- G06F 11/1451: {by selection of backup contents}
- G06F 11/1469: {Backup restoration techniques}
- G06F 11/2058: {using more than 2 mirrored copies}
- G06F 2201/82: Solving problems relating to consistency
- 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

Machine readable instructions, methods, and systems of causation of a data read against a first storage system to optionally store a data write to preserve the version to allow viewing and recovery are disclosed. In an embodiment, a system for providing secondary data storage and recovery services for one or more networked host nodes includes a server application for facilitating data backup and recovery services; a first data storage medium accessible to the server application; a second data storage medium accessible to the server application; and at least one client application for mapping write locations allocated by the first data storage medium to write locations represented in a logical view of the first data storage medium.

## Claims

### Claim 1

A machine-readable instruction to cause an application to initiate a data read operation against a first storage system to store at least one data write, the data read operation initiated to optionally store at least one of a read data write into a second storage system and preserve a version associated with a time of read at the first storage system for viewing and recovery, the machine-readable instruction comprising:
a portion to specify an origin machine address and a destination machine address of at least one data write;
a portion to specify a storage module in the first storage system to receive at least one data write, wherein the storage module is comprised of at least one of a storage device and a partition;
a portion to specify at least one physical memory offset in the storage module, wherein the offset earmarks the beginning of a payload portion of at least one data write; and
a portion to specify a bit length of at least one payload of at least one data write.
instead of reading from primary storage

### Claim 2 (depends on 1)

The instruction of claim 1, wherein the instruction is prepared by a host node that originally saved the data write to the first storage system.

### Claim 3 (depends on 1)

The instruction of claim 1, wherein the instruction is prepared by a switch, and wherein the first storage system is a SAN-based primary storage system and the second storage system is at least one of a SATA and a PATA disk drive.

### Claim 4 (depends on 2)

The instruction of claim 2, wherein the host node is one of a plurality of LAN-connected host nodes.

### Claim 5 (depends on 4)

The instruction of claim 4, wherein the host nodes include but are not limited to server nodes.

### Claim 6 (depends on 1)

The instruction of claim 1, wherein the origin and the destination machine address are IP addresses.

### Claim 7 (depends on 1)

The instruction of claim 1, wherein the origin and the destination machine address are at least one of a type of machine address configurations (MAC) address and a worldwide node name (WWNN) address.

### Claim 8 (depends on 1)

The instruction of claim 1, wherein at least one storage module is specified by a logical unit number (LUN).

### Claim 9 (depends on 1)

The instruction of claim 1, wherein the data read operation is conducted through a Fibre Channel switch using a Host Bus Adaptor.

### Claim 10 (depends on 1)

The instruction of claim 1, wherein the instruction set is generated in at least one of in full and in part by running an algorithm at the point of the generating host.

### Claim 11 (depends on 1)

The instruction of claim 1, wherein a client instance of a host performs a mapping function against a primary storage view to derive a mapped offset location.

### Claim 12 (depends on 1)

The instruction of claim 1, wherein the instruction is prepared by a host node, and wherein a server reads changed data of a host from the first storage system and applies the information to the second storage system to provide time-based recovery.

### Claim 13 (depends on 12)

The instruction of claim 12, wherein the host has a configurable host view of its storage volume and access to time-stamped versions of its backed up information, wherein the versions are compatible with the configurable host view.

### Claim 14 (depends on 13)

The instruction of claim 13, wherein the configurable host view is comprised of at least one of a file, a data set, and a volume.

### Claim 15 (depends on 12)

The instruction of claim 12, wherein the server reads from at least one of a first storage system buffer and a first storage system cache.

### Claim 16 (depends on 12)

The instruction of claim 12, wherein the server performs a mapping function using at least one of a standard protocol and a custom application program interface.

### Claim 17

A system to execute a machine-readable instruction to cause an application to initiate a data read operation against a first storage system to store at least one data write, the data read operation initiated to optionally store at least one of a read data write into a second storage system and preserve a version associated with a time of read at the first storage system for viewing and recovery, the system comprising:
an origin machine to provide a data write;
a destination machine to receive a data write;
a storage module in the first storage system to receive at least one data write, wherein the storage module is comprised of at least one of a storage device and a partition;
at least one physical memory offset in the storage module, wherein the offset earmarks the beginning of a payload portion of at least one data write;
at least one payload of at least one data write; and
a second storage system to optionally store at least one of a read data write and preserve a version associated with a time of read at the first storage system for viewing and recovery.

### Claim 18 (depends on 17)

The system of claim 17 further comprising a host node, wherein the instruction is prepared by a host node that originally saved the data write to the first storage system.

### Claim 19 (depends on 18)

The system of claim 18, wherein the first storage system is a SAN-based primary storage system and the second storage system is at least one of a SATA and a PATA disk drive.

### Claim 20

A method to cause an application to initiate a data read operation against a first storage system to store at least one data write, the data read operation initiated to optionally store at least one of a read data write into a second storage system and preserve a version associated with a time of read at the first storage system for viewing and recovery, the method comprising:
specifying an origin machine address and a destination machine address of at least one data write;
specifying a storage module in the first storage system to receive at least one data write, wherein the storage module is comprised of at least one of a storage device and a partition;
specifying at least one physical memory offset in the storage module using a processor and a physical memory, wherein the offset earmarks the beginning of a payload portion of at least one data write; and
specifying a bit length of at least one payload of at least one data write.
