# US 10,768,834 B2 · Methods for managing group objects with different service level objectives for an application and devices thereof

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

- Number: US 10,768,834 B2
- Document ID: US10768834B2
- Status: Granted
- Kind: B2
- Application number: 15/964,223
- Filed: 2018-04-27
- Published: 2019-10-31
- Granted: 2020-09-08
- Earliest claimed: 2018-04-27
- Assignees: NetApp, Inc.
- Applicants: NetApp, Inc.
- Inventors: Evan Miller; Daniel Gosner; Joe Sunday; Srishylam Simharajan; Kevin Stovall; Raj Lalsangi
- Web page: https://patentgrep.com/patent/US10768834B2

## CPC

- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 9/5016: {the resource being the memory}
- G06F 2209/5011: Pool
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods, non-transitory computer readable media, and computing devices that group objects with different service level objectives for an application includes receiving a request including a service level data to provision a volume. One or more aggregates for the received service level is identified. a resource pool including the identified one or more aggregates is generated. The volume including the generated resource pool with the identified one or more aggregates for the received service level is provisioned.

## Claims

### Claim 1

A computing device, comprising:
a memory containing machine readable medium comprising machine executable code having stored thereon instructions for handling storage element failures to reduce storage device failure dates; and
a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to:
identify one or more aggregates for received service level data within a designated range of memory sizes to provision a volume, wherein the provisioned volume is configurable to be moved within the identified one or more aggregates for the received service level data to reduce data fragmentation;
generate a resource pool including the identified one or more aggregates; and
provision the volume including the generated resource pool with the identified one or more aggregates for the received service level.

### Claim 2 (depends on 1)

The computing device as set forth in claim 1, wherein the processor is further configured to execute the machine executable code to further cause the processor to return a high availability pair associated with the provisioned volume to a client device.

### Claim 3 (depends on 1)

The computing device as set forth in claim 1, wherein the processor is further configured to execute the machine executable code to further cause the processor to assign an initial service level to a virtual server.

### Claim 4 (depends on 3)

The computing device as set forth in claim 3, wherein the processor is further configured to execute the machine executable code to further cause the processor to allocate the identified one or more aggregates to the virtual server.

### Claim 5 (depends on 3)

The computing device as set forth in claim 3, wherein the processor is further configured to execute the machine executable code to further cause the processor to assign a memory size limit on the virtual server.

### Claim 6 (depends on 3)

The computing device as set forth in claim 3, wherein the processor is further configured to execute the machine executable code to further cause the processor to provide a consolidated report of utilization data associated with the provisioned volume including the identified one or more aggregates.

### Claim 7 (depends on 3)

The computing device as set forth in claim 3 wherein the initial service level is assigned to the virtual server based on a number of data operation requests supported by the virtual server.

### Claim 8 (depends on 3)

The computing device as set forth in claim 3 wherein the initial server level is assigned to the virtual server based on a type of data operation supported by the virtual server.

### Claim 9

A method, comprising:
identifying, by a computing device, one or more aggregates for received service level data within a designated range of memory sizes to provision a volume, wherein the provisioned volume is configurable to be moved within the identified one or more aggregates for the received service level data to reduce data fragmentation;
generating, by the computing device, a resource pool including the identified one or more aggregates; and
provisioning, by the computing device, the volume including the generated resource pool with the identified one or more aggregates for the received service level.

### Claim 10 (depends on 9)

The method as set forth in claim 9 further comprising returning, by the computing device, a high availability pair associated with the provisioned volume to a client device.

### Claim 11 (depends on 9)

The method as set forth in claim 9 further comprising, assigning, by the computing device, an initial service level to a virtual server.

### Claim 12 (depends on 11)

The method as set forth in claim 11 further comprising, allocating, by the computing device, the identified one or more aggregates to the virtual server.

### Claim 13 (depends on 11)

The method as set forth in claim 11 further comprising, assigning, by the computing device, a memory size limit on the virtual server.

### Claim 14 (depends on 9)

The method as set forth in claim 9 further comprising, providing, by the computing device, a consolidated report of utilization data associated with the provisioned volume including the identified one or more aggregates.

### Claim 15

A non-transitory machine readable medium having stored thereon instructions for group objects with different service level objectives for an application comprising machine executable code which when executed by at least one machine causes the machine to:
identify one or more aggregates for received service level data within a designated range of memory sizes to provision a volume, wherein the provisioned volume is configurable to be moved within the identified one or more aggregates for the received service level data to reduce data fragmentation;
generate a resource pool including the identified one or more aggregates; and
provision the volume including the generated resource pool with the identified one or more aggregates for the received service level.

### Claim 16 (depends on 15)

The medium as set forth in claim 15 wherein the machine executable code, when executed by the machine, further causes the machine to return a high availability pair associated with the provisioned volume to a client device.

### Claim 17 (depends on 15)

The medium as set forth in claim 15 wherein the machine executable code, when executed by the machine, further causes the machine to assign an initial service level to a virtual server.

### Claim 18 (depends on 17)

The medium as set forth in claim 17 wherein the machine executable code, when executed by the machine, further causes the machine to allocate the identified one or more aggregates to the virtual server.

### Claim 19 (depends on 17)

The medium as set forth in claim 17 wherein the machine executable code, when executed by the machine, further causes the machine to assign a memory size limit on the virtual server.

### Claim 20 (depends on 15)

The medium as set forth in claim 15 wherein the machine executable code, when executed by the machine, further causes the machine to provide a consolidated report of utilization data associated with the provisioned volume including the identified one or more aggregates.
