# US 2016/0366223 A1 · Allocating Cloud Storage Based on Storage Attributes

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

- Number: US 2016/0366223 A1
- Document ID: US20160366223A1
- Status: Published application
- Kind: A1
- Application number: 14/737,956
- Filed: 2015-06-12
- Published: 2016-12-15
- Earliest claimed: 2015-06-12
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Seth Mason
- Web page: https://patentgrep.com/patent/US20160366223A1

## CPC

- G06F 9/5016: {the resource being the memory}
- G06F 9/46: Multiprogramming arrangements
- G06F 9/5072: {Grid computing}
- H04L 41/0816: the condition being an adaptation, e.g. in response to network events
- H04L 47/70: Admission control; Resource allocation
- 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]
- H04L 67/306: User profiles
- 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 of allocating cloud storage based on storage profiles includes receiving a storage request from a virtual machine associated with a tenant at a computing apparatus having connectivity to a network. The storage request is analyzed to determine one or more storage attributes of the storage request. An infrastructure is configured in a configuration based on the one or more storage attributes and data associated with the storage request is stored in the infrastructure in accordance with the configuration.

## Claims

### Claim 1

A method comprising:
at a computing apparatus having connectivity to a network, receiving a storage request from a virtual machine associated with a tenant;
analyzing the storage request to determine one or more storage attributes of the storage request;
configuring an infrastructure in a configuration based on the one or more storage attributes; and
storing data associated with the storage request in the infrastructure in accordance with the configuration.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
monitoring a workload associated with the storage request; and
adjusting the configuration based on one or more storage attributes of the workload.

### Claim 3 (depends on 2)

The method of claim 2, wherein monitoring the workload associated with the storage request further comprises:
detecting a difference between the one or more storage attributes of the workload and the one or more storage attributes on which the configuration is based.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
monitoring the infrastructure for changes associated with data storage in the infrastructure; and
adjusting the configuration based on the changes.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
selecting a predetermined storage profile based on the one or more storage attributes; and
refining the predetermined storage profile based on the one or more storage attributes.

### Claim 6 (depends on 5)

The method of claim 5, further comprising:
monitoring a workload associated with the storage request; and
further refining the predetermined storage profile based on one or more storage attributes of the workload.

### Claim 7 (depends on 6)

The method of claim 6, wherein monitoring is performed over a number of time windows and the predetermined storage profile is further refined after each time window.

### Claim 8 (depends on 1)

The method of claim 1, wherein the one or more storage attributes include at least one of: a volume size, an Input/Output (IO) size, a read/write ratio, a number of Input/Output Operations per Second (IOPS), or a durability.

### Claim 9

A system comprising:
a storage infrastructure subsystem including at least one storage array and non-volatile cache memory; and
a computer subsystem running one or more application associated with at least a first tenant, wherein the computer subsystem interfaces with the storage infrastructure subsystem and is configured to:
receive a storage request from a virtual machine associated with the first tenant;
analyze the storage request to determine one or more storage attributes of the storage request;
configure an infrastructure in a configuration based on the one or more storage attributes; and
store data associated with the storage request in the infrastructure in accordance with the configuration.

### Claim 10 (depends on 9)

The system of claim 9, wherein the computer subsystem is further configured to:
monitor a workload associated with the storage request; and
adjust the configuration based on one or more storage attributes of the workload.

### Claim 11 (depends on 10)

The system of claim 10, wherein, in monitoring the workload associated with the storage request, the computer subsystem is further configured to:
detect a difference between the one or more storage attributes of the workload and the one or more storage attributes on which the configuration is based.

### Claim 12 (depends on 9)

The system of claim 9, wherein the computer subsystem is further configured to:
monitor the infrastructure for changes associated with data storage in the infrastructure; and
adjust the configuration based on the changes.

### Claim 13 (depends on 9)

The system of claim 9, wherein, in creating a storage profile, the computer subsystem is further configured to:
select a predetermined storage profile based on the one or more storage attributes; and
refine the predetermined storage profile based on the one or more storage attributes.

### Claim 14 (depends on 13)

The system of claim 13, wherein the computer subsystem is further configured to:
monitor a workload associated with the storage request; and
further refine the predetermined storage profile based on one or more storage attributes of the workload.

### Claim 15

A non-transitory computer-readable storage media encoded with software comprising computer executable instructions and when the software is executed operable to:
receive a storage request from a virtual machine associated with a tenant;
analyze the storage request to determine one or more storage attributes of the storage request;
configure an infrastructure in a configuration based on the one or more storage attributes; and
store data associated with the storage request in the infrastructure in accordance with the configuration.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage media of claim 15, further comprising instructions operable to:
monitor a workload associated with the storage request; and
adjust the configuration based on one or more storage attributes of the workload.

### Claim 17 (depends on 16)

The non-transitory computer-readable storage media of claim 16, wherein the instructions operable to monitor the workload associated with the storage request include instructions operable to:
detect a difference between the one or more storage attributes of the workload and the one or more storage attributes on which the configuration is based.

### Claim 18 (depends on 15)

The non-transitory computer-readable storage media of claim 15, further comprising instructions operable to:
monitor the infrastructure for changes associated with data storage in the infrastructure; and
adjust the configuration based on the changes.

### Claim 19 (depends on 15)

The non-transitory computer-readable storage media of claim 15, wherein the instructions operable to create a storage profile include instructions operable to:
select a predetermined storage profile based on the one or more storage attributes; and
refine the predetermined storage profile based on the one or more storage attributes.

### Claim 20 (depends on 19)

The non-transitory computer-readable storage media of claim 19, further comprising instructions operable to:
monitor a workload associated with the storage request; and
further refine the predetermined storage profile based on one or more storage attributes of the workload.
