# US 11,442,827 B2 · Policy-based hierarchical data protection in distributed storage

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

- Number: US 11,442,827 B2
- Document ID: US11442827B2
- Status: Granted
- Kind: B2
- Application number: 16/878,220
- Filed: 2020-05-19
- Published: 2020-09-03
- Granted: 2022-09-13
- Earliest claimed: 2015-02-20
- Assignees: NetApp, Inc.
- Applicants: NetApp, Inc.
- Inventors: Ajay Bakre; Vishnu Vardhan Chandra Kumaran; Alvin Lam; Emalayan Vairavanathan; Viswanath Chandrasekara Bharathi; Vladimir Avram; Dheeraj Raghavender Sangamkar; Oliver Seiler; Carmen Lum
- Web page: https://patentgrep.com/patent/US11442827B2

## CPC

- G06F 11/2094: {Redundant storage or storage space (G06F11/2056 takes precedence)}
- G06F 11/0754: {by exceeding limits}
- G06F 11/1076: {Parity data used in redundant arrays of independent storages, e.g. in RAID systems}
- G06F 11/1088: {Reconstruction on already foreseen single or plurality of spare disks}
- G06F 11/3034: {where the computing system component is a storage system, e.g. DASD based or network based (digital input from or digital output to record carriers G06F3/06; digital recording or reproducing G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097)}
- H03M 13/154: {Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial}
- H03M 13/373: {with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes}
- H03M 13/3761: {using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes}
- G06F 2201/805: Real-time
- G06F 2201/82: Solving problems relating to consistency
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)

## Abstract

A storage management computing device obtains an information lifecycle management (ILM) policy. A data protection scheme to be applied at a storage node computing device level is determined and a plurality of storage node computing devices are identified based on an application of the ILM policy to metadata received from one of the storage node computing devices and associated with an object ingested by the one of the storage node computing devices. The one of the storage node computing devices is instructed to generate one or more copies of the object or fragments of the object according to the data protection scheme and to distribute the object copies or one of the object fragments to one or more other of the storage node computing devices to be stored by at least the one or more other storage node computing devices on one or more disk storage devices.

## Claims

### Claim 1

A method comprising:
parsing, by a first computing device, an information lifecycle management (ILM) policy that indicates a first data protection scheme to apply at a first level of a distributed storage system at object ingest based on object metadata and a second data protection scheme to apply at the first level of the distributed storage system based on a time parameter;
identifying an object, which is already stored in the distributed storage system according to the first data protection scheme, to which the information lifecycle management policy applies and for which the time parameter is satisfied; and
causing, by the first computing device, multiple storage nodes of the distributed storage system to store the object according to the second data protection scheme at the first level.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first computing device causes the object to be protected in the distributed storage system according to a third data protection scheme at a second level corresponding to storage devices of the multiple storage nodes.

### Claim 3 (depends on 1)

The method of claim 1, wherein the first data protection scheme comprises an item selected from a list consisting of: a replication data protection scheme and an erasure coding data protection scheme.

### Claim 4 (depends on 1)

The method of claim 1, wherein the second data protection scheme comprises an item selected from a list consisting of: a replication data protection scheme and an erasure coding data protection scheme.

### Claim 5 (depends on 1)

The method of claim 1, wherein a third data protection scheme indicated in the information lifecycle management policy comprises an item selected from a list consisting of: a redundant array of independent disks (RAID), dynamic disk pool (DDP), and just a bunch of disks (JBOD) data protection scheme.

### Claim 6 (depends on 1)

The method of claim 1, wherein identifying the object comprises determining a namespace indicated by the information lifecycle management policy and determining that the object is within the namespace.

### Claim 7 (depends on 1)

The method of claim 1, further comprising the first computing device causing the object, as stored according to the first data protection scheme, to be removed from the distributed storage system.

### Claim 8

A non-transitory machine readable medium having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine, causes the at least one machine to:
parse an information lifecycle management policy that indicates a first data protection scheme to apply at a first level of a distributed storage system at object ingest based on object metadata and a second data protection scheme to apply at the first level of the distributed storage system based on a time parameter;
identify an object to which the information lifecycle management policy applies based on metadata of the object, wherein the object has already been protected in the distributed storage system according to the first data protection scheme,
determine that the time parameter is satisfied, and
instruct multiple storage nodes of the distributed storage system to store the object according to the second data protection scheme at the first level.

### Claim 9 (depends on 8)

The non-transitory machine readable medium of claim 8, wherein the code to instruct the multiple storage nodes causes the object to be protected in the distributed storage system according to a third data protection scheme at a second level corresponding to storage devices of the multiple storage nodes.

### Claim 10 (depends on 8)

The non-transitory machine readable medium of claim 8, wherein identifying an object is based on evaluating the information lifecycle management policy.

### Claim 11 (depends on 8)

The non-transitory machine readable medium of claim 8, wherein the first data protection scheme comprises an item selected from a list consisting of: a replication data protection scheme or an erasure coding data protection scheme.

### Claim 12 (depends on 8)

The non-transitory machine readable medium of claim 8, wherein a third data protection scheme indicated in the information lifecycle management policy comprises an item selected from a list consisting of: a redundant array of independent disks (RAID), dynamic disk pool (DDP), or just a bunch of disks (JBOD) data protection scheme.

### Claim 13 (depends on 8)

The non-transitory machine readable medium of claim 8, wherein the code to identify the object comprises code to determine a namespace indicated by the information lifecycle management policy.

### Claim 14 (depends on 8)

The non-transitory machine readable medium of claim 8, wherein the code to instruct the storage nodes comprises code to remove the object, as stored according to the first data protection scheme.

### Claim 15

A computing device comprising:
a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of applying data protection;
a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to:
parse, by a first computing device, an information lifecycle management (ILM) policy that indicates a first data protection scheme to apply at a first level of a distributed storage system at object ingest based on object metadata and a second data protection scheme to apply at the first level of the distributed storage system based on a time parameter;
identify an object, which is already stored in the distributed storage system according to the first data protection scheme, to which the information lifecycle management policy applies and for which the time parameter is satisfied; and
cause, by the first computing device, multiple storage nodes of the distributed storage system to store the object according to the second data protection scheme at the first level.

### Claim 16 (depends on 15)

The computing device of claim 15, wherein the first data protection scheme comprises an item selected from a list consisting of: a replication data protection scheme and an erasure coding data protection scheme, and wherein a third data protection scheme indicated in the information lifecycle management policy comprises an item selected from a list consisting of a redundant array of independent disks (RAID), dynamic disk pool (DDP), and just a bunch of disks (JBOD) data protection scheme.

### Claim 17 (depends on 15)

The computing device of claim 15, wherein the code to cause the multiple storage nodes to store the object comprises code to instruct the multiple storage nodes of the distributed storage system to store the object.

### Claim 18 (depends on 15)

The computing device of claim 15, wherein the code to identify the object comprises code to determine a namespace indicated by the information lifecycle management policy.

### Claim 19 (depends on 15)

The computing device of claim 15, wherein the machine readable medium further comprises code to periodically evaluate a plurality of other information lifecycle management policies.

### Claim 20 (depends on 15)

The computing device of claim 15, wherein the code to parse the information lifecycle management policy comprises code to evaluate the information lifecycle management policy in response to retrieval of an object to which the information lifecycle management policy applies.
