# US 9,519,595 B1 · Provisioning resource using quota

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

- Number: US 9,519,595 B1
- Document ID: US9519595B1
- Status: Granted
- Kind: B1
- Application number: 14/317,002
- Filed: 2014-06-27
- Granted: 2016-12-13
- Earliest claimed: 2014-06-27
- Assignees: EMC Corporation
- Applicants: EMC Corporation
- Inventors: Boris Zeldin; Evgeny Roytman; Anoop George Ninan
- Web page: https://patentgrep.com/patent/US9519595B1

## CPC

- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F 3/0605: {by facilitating the interaction with a user or administrator}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In one aspect, a method includes receiving a request to provision a resource in a data storage system, determining whether any one of a set of quotas will be exceeded if the resource is provisioned, denying the request to provision the resource if any one of a set of quotas is exceeded and enabling the resource to be provisioned if none of the set of quotas is exceeded.

## Claims

### Claim 1

A method comprising:
receiving a request to provision a resource in a data storage system at a distributed control platform, wherein the distributed control platform converts heterogeneous storage systems within one or more storage centers into what appears to a user as a large storage array, wherein the distributed control platform layers a multi-tenant environment over the large storage array, wherein each tenant of the multi-tenant environment is isolated from each other tenant of the multi-tenant environment;
determining whether any one of a set of quotas will be exceeded if the resource of the large storage array is provisioned comprising determining whether a project quota will be exceeded if the resource is provisioned, wherein the project quota limits a project and a project maps resources to applications, virtual data centers and departments, wherein resources from the project are shared between users under a same tenant in the multi-tenant environment of the large storage array, wherein the set of quotas includes a virtual pool quota, a project quota, and a tenant quota;
denying the request to provision the resource if any one of a set of quotas is exceeded; and
enabling the resource to be provisioned if none of the set of quotas is exceeded.

### Claim 2 (depends on 1)

The method of claim 1, wherein determining whether any one of a set of quotas will be exceeded if the resource is provisioned further comprises determining whether a virtual pool quota will be exceeded if the resource is provisioned.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining whether any one of a set of quotas will be exceeded if the resource is provisioned further comprises determining whether a tenant quota will be exceeded if the resource is provisioned.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining whether any one of a set of quotas will be exceeded if the resource is provisioned further comprises:
determining whether a virtual pool quota will be exceeded if the resource is provisioned;
determining whether a project quota will be exceeded if the resource is provisioned if the virtual pool will not be exceeded; and
determining whether a tenant quota will be exceeded if the resource is provisioned if the project quota will not be exceeded.

### Claim 5 (depends on 1)

The method of claim 1, wherein receiving a request to provision a resource in a data storage system comprises receiving a request to provision at least one of capacity, processing time and bandwidth.

### Claim 6

An apparatus, comprising:
electronic hardware circuitry configured to:
receive a request to provision a resource in a data storage system at a distributed control platform, wherein the distributed control platform converts heterogeneous storage systems within one or more storage centers into what appears to a user as a large storage array, wherein the distributed control platform layers a multi-tenant environment over the large storage array, wherein each tenant of the multi-tenant environment is isolated from each other tenant of the multi-tenant environment;
determine whether any one of a set of quotas will be exceeded if the resource of the large storage array is provisioned comprising determining whether a project quota will be exceeded if the resource is provisioned, wherein the project quota limits a project and a project maps resources to applications, virtual data centers and departments, wherein resources from the project are shared between users under a same tenant in the multi-tenant environment of the large storage array, wherein the set of quotas includes a virtual pool quota, a project quota, and a tenant quota;
deny the request to provision the resource if any one of a set of quotas is exceeded; and
enable the resource to be provisioned if none of the set of quotas is exceeded.

### Claim 7 (depends on 6)

The apparatus of claim 6, wherein the circuitry comprises at least one of a processor, a memory, a programmable logic device or a logic gate.

### Claim 8 (depends on 6)

The apparatus of claim 6, wherein the circuitry configured to determine whether any one of a set of quotas will be exceeded if the resource is provisioned further comprises circuitry configured to determine whether a virtual pool quota will be exceeded if the resource is provisioned.

### Claim 9 (depends on 6)

The apparatus of claim 6, wherein the circuitry configured to determine whether any one of a set of quotas will be exceeded if the resource is provisioned further comprises circuitry configured to determine whether a tenant quota will be exceeded if the resource is provisioned.

### Claim 10 (depends on 6)

The apparatus of claim 6, wherein the circuitry configured to determine whether any one of a set of quotas will be exceeded if the resource is provisioned comprises circuitry configured to:
determine whether a virtual pool quota will be exceeded if the resource is provisioned;
determine whether a project quota will be exceeded if the resource is provisioned if the virtual pool will not be exceeded; and
determine whether a tenant quota will be exceeded if the resource is provisioned if the project quota will not be exceeded.

### Claim 11 (depends on 6)

The apparatus of claim 6, wherein the circuitry configured to receive a request to provision a resource in a data storage system comprises circuitry configured to receive a request to provision at least one of capacity, processing time and bandwidth.

### Claim 12

An article comprising:
a non-transitory computer-readable medium that stores computer-executable instructions, the instructions causing a machine to:
receive a request to provision a resource in a data storage system at a distributed control platform, wherein the distributed control platform converts heterogeneous storage systems within one or more storage centers into what appears to a user as a large storage array, wherein the distributed control platform layers a multi-tenant environment over the large storage array, wherein each tenant of the multi-tenant environment is isolated from each other tenant of the multi-tenant environment;
determine whether any one of a set of quotas will be exceeded if the resource of the large storage array is provisioned comprising determining whether a project quota will be exceeded if the resource is provisioned, wherein the project quota limits a project and a project maps resources to applications, virtual data centers and departments, wherein resources from the project are shared between users under a same tenant in the multi-tenant environment of the large storage array, wherein the set of quotas includes a virtual pool quota, a project quota, and a tenant quota;
deny the request to provision the resource if any one of a set of quotas is exceeded; and
enable the resource to be provisioned if none of the set of quotas is exceeded.

### Claim 13 (depends on 12)

The article of claim 12, wherein the instructions causing the machine to determine whether any one of a set of quotas will be exceeded if the resource is provisioned further comprises instructions causing the machine to determine whether a virtual pool quota will be exceeded if the resource is provisioned.

### Claim 14 (depends on 12)

The article of claim 12, wherein the instructions causing the machine to determine whether any one of a set of quotas will be exceeded if the resource is provisioned further comprises instructions causing the machine to determine whether a tenant quota will be exceeded if the resource is provisioned.

### Claim 15 (depends on 12)

The article of claim 12, wherein the instructions causing the machine to determine whether any one of a set of quotas will be exceeded if the resource is provisioned comprises instructions causing the machine to:
determine whether a virtual pool quota will be exceeded if the resource is provisioned;
determine whether a project quota will be exceeded if the resource is provisioned if the virtual pool will not be exceeded; and
determine whether a tenant quota will be exceeded if the resource is provisioned if the project quota will not be exceeded.

### Claim 16 (depends on 12)

The article of claim 12, wherein the instructions causing the machine to receive a request to provision a resource in a data storage system comprises instructions causing the machine to receive a request to provision at least one of capacity, processing time and bandwidth.
