# US 6,801,992 B2 · System and method for policy based storage provisioning and management

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

- Number: US 6,801,992 B2
- Document ID: US6801992B2
- Status: Granted
- Kind: B2
- Application number: 10/077,482
- Filed: 2002-02-13
- Published: 2002-11-21
- Granted: 2004-10-05
- Earliest claimed: 2001-02-13
- Assignees: Candera, Inc.
- Inventors: Kumar Gajjar; Jim Collins; Richard Meyer; Chandra Prasad; Dipam Patel
- Web page: https://patentgrep.com/patent/US6801992B2

## CPC

- G06F 12/1458: {by checking the subject access rights}
- G06F 3/0605: {by facilitating the interaction with a user or administrator}
- G06F 3/0607: {by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device}
- G06F 3/0629: {Configuration or reconfiguration of storage systems}
- G06F 3/0632: {by initialisation or re-initialisation of storage systems}
- G06F 3/0635: {by changing the path, e.g. traffic rerouting, path reconfiguration}
- G06F 3/0665: {at area level, e.g. provisioning of virtual or logical volumes}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 11/0724: {in a multiprocessor or a multi-core unit (multiprocessors per se G06F15/80)}
- G06F 11/0727: {in a storage system, e.g. in a DASD or network based storage system (drivers for digital recording or reproducing units G06F3/06; circuits for error detection or correction within digital recording or reproducing units 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)}
- G06F 11/0766: {Error or fault reporting or storing}
- G06F 11/0793: {Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40)}
- G06F 11/2025: {using centralised failover control functionality}
- G06F 11/2089: {Redundant storage control functionality}
- G06F 11/2092: {Techniques of failing over between control units}
- G06F 11/2094: {Redundant storage or storage space (G06F11/2056 takes precedence)}
- H04L 49/357: {Fibre channel switches}
- H04L 67/1097: 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]
- G06F 3/0614: {Improving the reliability of storage systems}
- G06F 11/1482: using middleware or operating system [OS] functionalities
- G06F 11/201: {between storage system components}
- G06F 11/2097: {maintaining the standby controller/processing unit updated (initialisation or re-synchronisation thereof G06F11/1658 and subgroups)}
- G06F 2201/815: Virtual
- 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 storage provisioning policy is created by specifying storage heuristics for storage attributes using storage heuristic metadata. Storage attributes characterize a storage device and storage heuristic metadata describe how to specify a storage heuristic. Using the storage heuristic metadata, storage heuristics are defined to express a rule or constraint as a function of a storage attribute. In addition, the storage provisioning policy may also specify mapping rules for exporting the storage to a consumer of the storage, such as the server or server cluster.

## Claims

### Claim 1

A method for provisioning one or more storage devices using one or more storage provisioning policies and discovered storage attribute data from the one or more storage devices, the one or more storage provisioning policies comprising one or more storage heuristics for one or more storage attributes, the method comprising:
comparing the discovered storage attribute data associated with the one or more storage devices to the one or more storage heuristics for the one or more storage attributes in the one or more storage provisioning policies; and
if the discovered storage attribute data associated with a storage device in the one or more storage devices satisfy the one or more storage heuristics for the one or more storage attributes, provisioning the storage device.

### Claim 2 (depends on 1)

The method of claim 1, further comprising if no discovered storage attribute data from the one or more storage devices satisfy the one or more storage heuristics for the one or more storage attributes, creating a virtual storage device, the virtual storage device configured to satisfy the one or more storage heuristics.

### Claim 3 (depends on 1)

The method of claim 1, further comprising if no discovered storage attribute data from the one or more storage devices satisfy the one or more storage heuristics for the one or more storage attributes, configuring a storage device to satisfy the one or more storage heuristics.

### Claim 4 (depends on 1)

The method of claim 1, wherein provisioning the storage device comprises using storage mapping rules to provision the storage device, wherein the storage mapping rules are specified in the one or more storage provisioning policy.

### Claim 5 (depends on 1)

The method of claim 1, further comprising dynamically adapting the one or more storage provisioning policies.

### Claim 6 (depends on 1)

The method of claim 1, further comprising creating new storage provisioning policies.

### Claim 7 (depends on 1)

The method of claim 1, further comprising monitoring the one or more storage heuristics.

### Claim 8 (depends on 7)

The method of claim 7, further comprising taking a corrective action if one or more of the storage heuristics are violated.

### Claim 9 (depends on 7)

The method of claim 7, further comprising creating a virtual storage device if one or more of the storage heuristics are violated, the virtual storage device configured to satisfy the one or more storage heuristics.

### Claim 10 (depends on 7)

The method of claim 7, further comprising:
taking a corrective action if the characteristics of a storage consumer changes.

### Claim 11

A method for creating one or more storage provisioning policies, the method comprising:
defining one or more storage attributes;
defining one or more storage heuristic metadata associated with the one or more storage attributes; and
specifying one or more storage heuristics using the defined one or more storage heuristic metadata associated with the one or more defined storage attributes to create a storage provisioning policy in the one or more storage provisioning policies, the storage provisioning policy usable to provision a storage device, wherein the provisioned storage device includes discoverable data that satisfies the storage heuristics for the storage attributes.

### Claim 12 (depends on 11)

The method of claim 11, further comprising defining one or more storage mapping rules; and
using the defined one or more storage mapping rules to create the storage provisioning policy.

### Claim 13 (depends on 11)

The method of claim 11, further comprising dynamically adapting the storage provisioning policy.

### Claim 14 (depends on 13)

The method of claim 13, wherein dynamically adapting the storage provisioning policy comprises discovering newly defined storage attributes and newly defined storage heuristics associated with the newly defined storage attributes.

### Claim 15 (depends on 11)

The method of claim 11, further comprising defining requirements in the storage provisioning policy.

### Claim 16 (depends on 11)

The method of claim 11, further comprising defining actions to be taken if one or more heuristics are violated for the storage provisioning policy.

### Claim 17 (depends on 16)

The method of claim 16, wherein the action comprises taking a corrective action if one or more of the storage heuristics are violated.

### Claim 18 (depends on 16)

The method of claim 16, wherein the action comprises creating a virtual storage device if one or more of the storage heuristics are violated, the virtual storage device configured to satisfy the one or more storage heuristics.

### Claim 19 (depends on 11)

The method of claim 11, further comprising storing the specified storage heuristics in a storage profile.

### Claim 20

A method for provisioning one or more storage devices using discovered storage attribute data from the one or more storage devices and supported storage attributes with associated one or more defined storage heuristic metadata, the method comprising:
creating a storage provisioning policy, wherein creating the storage provisioning policy comprises specifying storage heuristics using the one or more defined storage heuristic metadata associated with the one or more storage attributes;
comparing the discovered storage attribute data associated with the one or more storage devices to the one or more storage heuristics in the storage provisioning policy; and
if the discovered storage attribute data associated with a storage device in the one or more storage devices satisfy the one or more storage heuristics, provisioning the storage device.

### Claim 21 (depends on 20)

The method of claim 20, further comprising if no discovered storage attribute data from the one or more storage devices satisfy the one or more storage heuristics, creating a virtual storage device, the virtual storage device configured to satisfy the one or more storage heuristics.

### Claim 22 (depends on 20)

The method of claim 20, wherein creating the storage provisioning policy further comprises specifying storage mapping rules.

### Claim 23 (depends on 22)

The method of claim 22, wherein provisioning the storage device comprises using the storage mapping rules to provision the storage device.

### Claim 24

A storage management device for provisioning one or more storage devices using one or more storage provisioning policies and discovered storage attribute data from the one or more storage devices, the one or more storage provisioning policies comprising one or more storage heuristics for one or more storage attributes, the method comprising:
instructions for comparing the discovered storage attribute data associated with the one or more storage devices to the one or more storage heuristics for the one or more storage attributes in the one or more storage provisioning policies; and
instructions for provisioning the storage device if the discovered storage attribute data associated with a storage device in the one or more storage devices satisfy the one or more storage heuristics for the one or more storage attributes.

### Claim 25 (depends on 24)

The storage management device of claim 24, further comprising instructions for if no discovered storage attribute data from the one or more storage devices satisfy the one or more storage heuristics for the one or more storage attributes, creating a virtual storage device, the virtual storage device configured to satisfy the one or more storage heuristics.

### Claim 26 (depends on 24)

The storage management device of claim 24, further comprising instructions for if no discovered storage attribute data from the one or more storage devices satisfy the one or more storage heuristics for the one or more storage attributes, configuring a storage device to satisfy the one or more storage heuristics.

### Claim 27 (depends on 24)

The method of claim 24, wherein instructions for provisioning the storage device comprise instructions for using storage mapping rules to provision the storage device, wherein the storage mapping rules are specified in the one or more storage provisioning policies.

### Claim 28 (depends on 24)

The storage management device of claim 24, further comprising instructions for dynamically adapting the one or more storage provisioning policies.

### Claim 29 (depends on 24)

The storage management device of claim 24, further comprising instructions for creating new storage provisioning policies.

### Claim 30 (depends on 24)

The storage management device of claim 24, further comprising instructions for monitoring the one or more storage heuristics.

### Claim 31 (depends on 24)

The storage management device of claim 24, further comprising:
instructions for taking a corrective action if one or more of the storage heuristics are violated.

### Claim 32 (depends on 31)

The storage management device of claim 31, further comprising:
instructions for creating a virtual storage device if one or more of the storage heuristics are violated, the virtual storage device configured to satisfy the one or more storage heuristics.

### Claim 33 (depends on 24)

The method of claim 24, further comprising:
instructions for taking a corrective action if the characteristics of a storage consumer changes.

### Claim 34

A storage management device for creating one or more storage provisioning policies, the method comprising:
one or more storage attributes;
one or more storage heuristic metadata associated with the one or more storage attributes; and
instructions for receiving a specification of one or more storage heuristics using the defined one or more storage heuristic metadata associated with the one or more defined storage attributes to create a storage provisioning policy in the one or more storage provisioning policies, the storage provisioning policy usable to provision a storage device, wherein the provisioned storage device includes discoverable data that satisfies the storage heuristics for the storage attributes.

### Claim 35 (depends on 34)

The method of claim 34, further comprising defining one or more storage mapping rules; and
using the defined one or more storage mapping rules to create the storage provisioning policy.

### Claim 36 (depends on 34)

The storage management device of claim 34, further comprising instructions for dynamically adapting the storage provisioning policy.

### Claim 37 (depends on 36)

The storage management device of claim 36, wherein instructions for dynamically adapting the storage provisioning policy comprises instructions for discovering newly defined storage attributes and newly defined storage heuristics associated with the newly defined storage attributes.

### Claim 38 (depends on 34)

The storage management device of claim 34, further comprising instructions for receiving definitions of requirements in the storage provisioning policy.

### Claim 39 (depends on 34)

The method of claim 34, further comprising instructions for receiving definitions of actions to be taken if one or more heuristics are violated for the storage provisioning policy.

### Claim 40 (depends on 34)

The storage management device of claim 34, further comprising instructions for storing the specified one or more storage heuristics in a storage profile.

### Claim 41

A storage management device for provisioning one or more storage devices using discovered storage attribute data from the one or more storage devices and supported storage attributes with associated one or more defined storage heuristic metadata, the method comprising:
instructions for creating a storage provisioning policy, wherein creating the storage provisioning policy comprises specifying one or more storage heuristics using the one or more defined storage heuristic metadata associated with the one or more storage attributes;
instructions for comparing the discovered storage attribute data associated with the one or more storage devices to the one or more storage heuristics the storage provisioning policy; and
if the discovered storage attribute data associated with a storage device in the one or more storage devices satisfy the one or more storage heuristics, instructions for provisioning the storage device.

### Claim 42 (depends on 41)

The method of claim 41, further comprising if no discovered storage attribute data from the one or more storage devices satisfy the one or more storage heuristics, creating a virtual storage device, the virtual storage device configured to satisfy the one or more storage heuristics.

### Claim 43 (depends on 41)

The method of claim 41, wherein creating the storage provisioning policy further comprises specifying storage mapping rules.

### Claim 44 (depends on 43)

The method of claim 43, wherein provisioning the storage device comprises using the storage mapping rules to provision the storage device.
