# US 2020/0401665 A1 · Storage management system and method

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

- Number: US 2020/0401665 A1
- Document ID: US20200401665A1
- Status: Published application
- Kind: A1
- Application number: 15/274,617
- Filed: 2016-09-23
- Published: 2020-12-24
- Earliest claimed: 2016-09-23
- Assignees: EMC IP Holding Company LLC
- Applicants: EMC IP Holding Company LLC
- Inventors: Assaf Natanzon
- Web page: https://patentgrep.com/patent/US20200401665A1

## CPC

- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method, computer program product, and computing system for maintaining an application-layer, active-active relationship between a first site and a second site within a storage system during a normal operation mode. Determining if the storage system enters a degraded mode due to the first site of the storage system going offline. In response to entering the degraded mode, write requests and read requests are processed on the second site. Determining if the storage system enters a resynchronization mode due to the first site of the storage system returning online. In response to entering the resynchronization mode, a block-layer, active-active relationship is maintained between the first site and the second site within the storage system.

## Claims

### Claim 1

A computer-implemented method, executed on a computing device, comprising:
maintaining an application-layer, active-active relationship between a first site and a second site within a storage system during a normal operation mode;
sensing the storage system entering a degraded mode due to the first site of the storage system going offline;
in response to entering the degraded mode, processing write requests and read requests on the second site;
sensing the storage system entering a resynchronization mode due to the first site of the storage system returning online; and
in response to entering the resynchronization mode, maintaining a block-layer, active-active relationship between the first site and the second site within the storage system, wherein maintaining a block-layer active-active relationship includes:
intercepting write requests directed to the first site and redirecting those requests to the second site for processing on the second site only while the first site is being resynchronized,
exposing, via a virtualized storage platform, a logical unit as a storage target within each of the first site and the second site, wherein each logical unit is configured to appear identical to both the first site and the second site, and
providing, in response to a read request, a most current version of the data from one of the logical units of the first site and the second site.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1 further comprising:
sensing the storage system reentering the normal mode due to the first site being resynchronized with the second site of the storage system; and
in response to reentering the normal mode, ending the block-layer, active-active relationship between the first site and the second site within the storage system.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1 wherein maintaining an application-layer, active-active relationship between a first site and a second site within a storage system includes:
mirroring a request received on the first site to the second site; and
processing the request received on the first site on both the first site and the second site.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1 wherein maintaining an application-layer, active-active relationship between a first site and a second site within a storage system includes:
mirroring a request received on the second site to the first site; and
processing the request received on the second site on both the first site and the second site.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1 wherein the first site of the storage system goes offline due to one or more of:
a hardware failure; and
a software failure.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1 wherein maintaining a block-layer, active-active relationship between the first site and the second site within the storage system includes:
processing read requests received by the first site on the first site; and
processing read requests received by the second site on the second site.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6 wherein maintaining a block-layer, active-active relationship between the first site and the second site within the storage system includes:
processing write requests received by the first site on the second site; and
processing write requests received by the second site on the second site.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1 wherein maintaining an application-layer, active-active relationship between a first site and a second site within a storage system includes:
executing a file system; and
processing one or more file system commands chosen from the group consisting of: a create file command, a delete file command, a rename file command and a truncate file command.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1 wherein maintaining an application-layer, active-active relationship between a first site and a second site within a storage system includes:
executing a database; and
processing one or more database commands including a SQL command.

### Claim 10

A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:
maintaining an application-layer, active-active relationship between a first site and a second site within a storage system during a normal operation mode;
sensing the storage system entering a degraded mode due to the first site of the storage system going offline;
in response to entering the degraded mode, processing write requests and read requests on the second site;
sensing the storage system entering a resynchronization mode due to the first site of the storage system returning online; and
in response to entering the resynchronization mode, maintaining a block-layer, active-active relationship between the first site and the second site within the storage system, wherein maintaining a block-layer active-active relationship includes:
intercepting write requests directed to the first site and redirecting those requests to the second site for processing on the second site only while the first site is being resynchronized,
exposing, via a virtualized storage platform, a logical unit as a storage target within each of the first site and the second site, wherein each logical unit is configured to appear identical to both the first site and the second site, and
providing, in response to a read request, a most current version of the data from one of the logical units of the first site and the second site.

### Claim 11 (depends on 10)

The computer program product of claim 10 further comprising instructions for:
sensing the storage system reentering the normal mode due to the first site being resynchronized with the second site of the storage system; and
in response to reentering the normal mode, ending the block-layer, active-active relationship between the first site and the second site within the storage system.

### Claim 12 (depends on 10)

The computer program product of claim 10 wherein maintaining an application-layer, active-active relationship between a first site and a second site within a storage system includes:
mirroring a request received on the first site to the second site; and
processing the request received on the first site on both the first site and the second site.

### Claim 13 (depends on 10)

The computer program product of claim 10 wherein maintaining an application-layer, active-active relationship between a first site and a second site within a storage system includes:
mirroring a request received on the second site to the first site; and
processing the request received on the second site on both the first site and the second site.

### Claim 14 (depends on 10)

The computer program product of claim 10 wherein the first site of the storage system goes offline due to one or more of:
a hardware failure; and
a software failure.

### Claim 15 (depends on 10)

The computer program product of claim 10 wherein maintaining a block-layer, active-active relationship between the first site and the second site within the storage system includes:
processing read requests received by the first site on the first site; and
processing read requests received by the second site on the second site.

### Claim 16 (depends on 15)

The computer program product of claim 15 wherein maintaining a block-layer, active-active relationship between the first site and the second site within the storage system includes:
processing write requests received by the first site on the second site; and
processing write requests received by the second site on the second site.

### Claim 17 (depends on 10)

The computer program product of claim 10 wherein maintaining an application-layer, active-active relationship between a first site and a second site within a storage system includes:
executing a file system; and
processing one or more file system commands chosen from the group consisting of: a create file command, a delete file command, a rename file command and a truncate file command.

### Claim 18 (depends on 10)

The computer program product of claim 10 wherein maintaining an application-layer, active-active relationship between a first site and a second site within a storage system includes:
executing a database; and
processing one or more database commands including a SQL command.

### Claim 19

A computing system including a processor and memory configured to perform operations comprising:
maintaining an application-layer, active-active relationship between a first site and a second site within a storage system during a normal operation mode;
sensing the storage system entering a degraded mode due to the first site of the storage system going offline;
in response to entering the degraded mode, processing write requests and read requests on the second site;
sensing the storage system entering a resynchronization mode due to the first site of the storage system returning online; and
in response to entering the resynchronization mode, maintaining a block-layer, active-active relationship between the first site and the second site within the storage system, wherein maintaining a block-layer active-active relationship includes:
intercepting write requests directed to the first site and redirecting those requests to the second site for processing on the second site only while the first site is being resynchronized,
exposing, via a virtualized storage platform, a logical unit as a storage target within each of the first site and the second site, wherein each logical unit is configured to appear identical to both the first site and the second site, and
providing, in response to a read request, a most current version of the data from one of the logical units of the first site and the second site.

### Claim 20 (depends on 19)

The computing system of claim 19 further configured to perform operations comprising:
sensing the storage system reentering the normal mode due to the first site being resynchronized with the second site of the storage system; and
in response to reentering the normal mode, ending the block-layer, active-active relationship between the first site and the second site within the storage system.

### Claim 21 (depends on 19)

The computing system of claim 19 wherein maintaining an application-layer, active-active relationship between a first site and a second site within a storage system includes:
mirroring a request received on the first site to the second site; and
processing the request received on the first site on both the first site and the second site.

### Claim 22 (depends on 19)

The computing system of claim 19 wherein maintaining an application-layer, active-active relationship between a first site and a second site within a storage system includes:
mirroring a request received on the second site to the first site; and
processing the request received on the second site on both the first site and the second site.

### Claim 23 (depends on 19)

The computing system of claim 19 wherein the first site of the storage system goes offline due to one or more of:
a hardware failure; and
a software failure.

### Claim 24 (depends on 19)

The computing system of claim 19 wherein maintaining a block-layer, active-active relationship between the first site and the second site within the storage system includes:
processing read requests received by the first site on the first site; and
processing read requests received by the second site on the second site.

### Claim 25 (depends on 24)

The computing system of claim 24 wherein maintaining a block-layer, active-active relationship between the first site and the second site within the storage system includes:
processing write requests received by the first site on the second site; and
processing write requests received by the second site on the second site.

### Claim 26 (depends on 19)

The computing system of claim 19 wherein maintaining an application-layer, active-active relationship between a first site and a second site within a storage system includes:
executing a file system; and
processing one or more file system commands chosen from the group consisting of: a create file command, a delete file command, a rename file command and a truncate file command.

### Claim 27 (depends on 19)

The computing system of claim 19 wherein maintaining an application-layer, active-active relationship between a first site and a second site within a storage system includes:
executing a database; and
processing one or more database commands including a SQL command.
