# US 8,788,455 B2 · Disaster recovery

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

- Number: US 8,788,455 B2
- Document ID: US8788455B2
- Status: Granted
- Kind: B2
- Application number: 13/294,501
- Filed: 2011-11-11
- Published: 2012-03-08
- Granted: 2014-07-22
- Earliest claimed: 2002-10-22
- Assignees: Brocade Communications Systems, Inc.
- Applicants: Rahul Mehta; Hans Glitsch; Paul Place; Steve Van Horn
- Inventors: Rahul Mehta; Hans Glitsch; Paul Place; Steve Van Horn
- Web page: https://patentgrep.com/patent/US8788455B2

## CPC

- G06F 11/2097: {maintaining the standby controller/processing unit updated (initialisation or re-synchronisation thereof G06F11/1658 and subgroups)}
- G06F 11/1469: {Backup restoration techniques}
- G06F 11/2094: {Redundant storage or storage space (G06F11/2056 takes precedence)}
- G06F 11/1451: {by selection of backup contents}
- G06F 11/1464: {for networked environments}
- G06F 11/1662: {the resynchronized component or unit being a persistent storage device (re-synchronization of failed mirror storage G06F11/2082; rebuild or reconstruction of parity RAID storage G06F11/1008)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

File system disaster recovery techniques provide automated monitoring, failure detection and multi-step failover from a primary designated target to one of a designated group of secondary designated targets. Secondary designated targets may be prioritized so that failover occurs in a prescribed sequence. Replication of information between the primary designated target and the secondary designated targets allows failover in a manner that maximizes continuity of operation. In addition, user-specified actions may be initiated on failure detection and/or on failover operations and/or on failback operations.

## Claims

### Claim 1

A file system disaster recovery method, comprising:
receiving an indication that at least one of one or more primary targets in a logical namespace has failed;
selecting, in accordance with a specified priority scheme, one of at least two secondary targets associated with the failed primary target, the at least two secondary targets being designated as alternate targets to the failed primary target; and
swapping the selected secondary target for the failed primary target.

### Claim 2 (depends on 1)

The method of claim 1, wherein each of the secondary targets have replicate of data associated with the failed primary target.

### Claim 3 (depends on 2)

The method of claim 2, wherein selecting in accordance with a specified priority scheme comprises selecting the secondary target having the most recent replicate of data associated with the failed primary target.

### Claim 4 (depends on 1)

The method of claim 1, further comprising replicating data from the primary target in each of the secondary targets periodically, wherein a time interval between each replication is set by a user.

### Claim 5 (depends on 1)

The method of claim 1, further comprising monitoring the one or more primary targets to detect failure.

### Claim 6 (depends on 5)

The method of claim 5, wherein monitoring comprises:
issuing a command to a primary target; and
waiting for an appropriate response from the primary target in response to the issued command.

### Claim 7 (depends on 6)

The method of claim 6, wherein receiving an indication comprises determining that an appropriate reply to the issued command was not received.

### Claim 8 (depends on 7)

The method of claim 7, wherein the act of determining that an appropriate reply to the issued command was not received comprises, not receiving a reply responsive to the issued command within a specified time period.

### Claim 9 (depends on 1)

The method of claim 1, wherein the specified priority scheme is set by a user.

### Claim 10

A non-transitory computer-readable storage medium comprising software that can be executed on a processor to cause the processor to:
receive an indication that at least one of one or more primary targets in a logical namespace has failed;
select, in accordance with a specified priority scheme, one of at least two secondary targets associated with the failed primary target, the at least two secondary targets being designated as alternate targets to the failed primary target; and
swap the selected secondary target for the failed primary target.

### Claim 11 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein each of the secondary targets have replicate of data associated with the failed primary target.

### Claim 12 (depends on 11)

The non-transitory computer-readable storage medium of claim 11, wherein the processor is further configured to select in accordance with a specified priority scheme by selecting the secondary target having the most recent replicate of data associated with the failed primary target.

### Claim 13 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the processor monitors the one or more primary targets for any failure.

### Claim 14 (depends on 13)

The non-transitory computer-readable storage medium of claim 13, wherein the processor monitors the one or more primary targets by:
issuing a command to a primary target; and
waiting for an appropriate response from the primary target in response to the issued command.

### Claim 15 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the processor receives an indication by determining that an appropriate reply to the issued command was not received.

### Claim 16 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the specified priority scheme is set by a user.

### Claim 17

A file system disaster recovery system, comprising:
one or more primary targets in a logical namespace, each primary target having at least two secondary targets associated therewith and designated as alternate targets to the primary target; and
a processor;
wherein the processor comprises a DR module for receiving notification that a primary target has failed, for selecting in accordance with a specified priority scheme one of the secondary targets associated with the failed primary target, and for substituting the selected secondary target for the failed primary target.

### Claim 18 (depends on 17)

The disaster recovery system of claim 17, wherein the logical namespace comprises a distributed file system (DFS) logical namespace.

### Claim 19 (depends on 18)

The disaster recovery system of claim 18, wherein the DR module substitutes the selected secondary target for the failed primary target by using DFS application programming interface (API) commands to:
remove the failed primary target from active use in the DFS; and
use the selected secondary target for the failed primary target in the DFS.

### Claim 20 (depends on 17)

The disaster recovery system of claim 17, further comprising a replication means for replicating information associated with one of the primary targets to one of the secondary target.

### Claim 21 (depends on 20)

The disaster recovery system of claim 20, wherein the replication means replicates information associated with the primary target to a plurality of secondary targets.

### Claim 22 (depends on 17)

The disaster recovery system of claim 17, wherein the processor further comprises a monitor server for actively monitoring one or more of the primary targets.

### Claim 23 (depends on 22)

The disaster recovery system of claim 22, wherein the DR module receives the notification that a primary target has failed from the monitor server.

### Claim 24 (depends on 22)

The disaster recovery system of claim 22, wherein the monitor server comprises a first computer executable module executing on a first computer system and the DR server comprises a second computer executable module executing on a second, different, computer system.
