# US 9,519,441 B1 · Automated storage provisioning and management using a centralized database

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

- Number: US 9,519,441 B1
- Document ID: US9519441B1
- Status: Granted
- Kind: B1
- Application number: 13/632,055
- Filed: 2012-09-30
- Granted: 2016-12-13
- Earliest claimed: 2012-09-30
- Assignees: EMC IP Holding Company LLC
- Applicants: EMC Corporation
- Inventors: Aaron T. Smith; Edward Brennan; Keith Meyer; Adnan Sahin; Mark Nadler; John O. Williams, II; Jesse D. Keefe
- Web page: https://patentgrep.com/patent/US9519441B1

## CPC

- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0605: {by facilitating the interaction with a user or administrator}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/0665: {at area level, e.g. provisioning of virtual or logical volumes}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An information processing system comprises a centralized database and at least one processing device implementing a selection algorithm for automated provisioning and management of a plurality of storage arrays based on information collected from the storage arrays and stored in the centralized database. The information stored in the centralized database may comprise at least one of storage utilization, performance, network bandwidth and end of service for each of the storage arrays. The selection algorithm is configured to determine optimal placement of data across the storage arrays based on the information stored in the centralized database. For example, the selection algorithm may be configured to determine one or more locations within the plurality of storage arrays to allocate as new storage responsive to a provisioning request.

## Claims

### Claim 1

An apparatus comprising:
a centralized database; and
at least one processing device implementing a selection algorithm for automated provisioning and management of a plurality of storage arrays based on information collected from the storage arrays and stored in the centralized database;
wherein the storage arrays are associated with respective storage systems, each of the storage systems being associated with a different service provider, each service provider having multiple tenants; and
wherein the centralized database is implemented in a centralized storage provisioning and management system configured to control provisioning and management of the service provider storage systems utilizing information collected from the service provider storage systems, the centralized storage provisioning and management system being further configured to associate user identifiers with respective tenants of each of the service providers and to control user access to the storage systems associated with the different service providers in a manner that allows the centralized storage provisioning and management system to track resource usage;
the centralized storage provisioning and management system comprising a centralized control path implemented apart from the service provider storage systems and a plurality of localized control paths implemented in respective ones of the service provider storage systems; and
the centralized storage provisioning and management system providing storage provisioning and management functionality for the different service providers in accordance with a software-as-a-service model in which the centralized storage provisioning and management system exclusively controls provisioning and management of the storage arrays associated with the respective service provider storage systems;
wherein the service provider storage systems offload local provisioning and management functionality to the centralized storage provisioning and management system; and
wherein responsive to the storage arrays having different numbers of connections to one or more storage area network switches, the selection algorithm utilizes information relating to occupancy levels of the storage arrays and the numbers of connections to the storage area network switches to choose placement for new storage.

### Claim 2 (depends on 1)

The apparatus of claim 1 wherein the selection algorithm is configured to determine optimal placement of data across the storage arrays based on the information stored in the centralized database.

### Claim 3 (depends on 1)

The apparatus of claim 1 wherein the selection algorithm is configured to determine one or more locations within the plurality of storage arrays to allocate as new storage responsive to a provisioning request.

### Claim 4 (depends on 1)

The apparatus of claim 1 wherein said at least one processing device implements a collection mechanism for controlling collection of the information from the storage arrays for storage in the centralized database by periodically capturing a current state of each storage array in terms of one or more of configuration, storage utilization and performance.

### Claim 5 (depends on 1)

The apparatus of claim 1 wherein the information stored in the centralized database comprises configuration information for each of the storage arrays and any associated storage area network switches.

### Claim 6 (depends on 1)

The apparatus of claim 1 wherein the information stored in the centralized database comprises at least one of storage utilization, performance, network bandwidth and end of service for each of the storage arrays.

### Claim 7 (depends on 1)

The apparatus of claim 1 wherein each of the storage arrays maintains a pool of available storage resources at each of a plurality of performance levels and the information stored in the centralized database comprises information relating to current state of the pools of available storage resources for each of the storage arrays.

### Claim 8 (depends on 7)

The apparatus of claim 7 wherein the selection algorithm is configured to determine optimal placement of data across the storage arrays based on said information relating to current state of the pools of available storage resources for each of the storage arrays.

### Claim 9 (depends on 1)

The apparatus of claim 1 further comprising a shadow database associated with the centralized database and storing historical information relating to at least one of storage utilization, performance, network bandwidth and end of service for each of the storage arrays.

### Claim 10 (depends on 1)

The apparatus of claim 1 wherein said at least one processing device implements functionality for automated replication operations spanning multiple ones of the storage arrays based on configuration information collected from the storage arrays and stored in the centralized database.

### Claim 11 (depends on 1)

An information processing system comprising at least one processing platform which incorporates the apparatus of claim 1.

### Claim 12

A method comprising:
collecting information from a plurality of storage arrays, the storage arrays being associated with respective storage systems, each of the storage systems being associated with a different service provider, each service provider having multiple tenants;
storing the information in a centralized database; and
implementing a selection algorithm for automated provisioning and management of the plurality of storage arrays based on information collected from the storage arrays and stored in the centralized database;
wherein the centralized database is implemented in a centralized storage provisioning and management system configured to control provisioning and management of the service provider storage systems utilizing information collected from the service provider storage systems, the centralized storage provisioning and management system being further configured to associate user identifiers with respective tenants of each of the service providers and to control user access to the storage systems associated with the different service providers in a manner that allows the centralized storage provisioning and management system to track resource usage;
the centralized storage provisioning and management system comprising a centralized control path implemented apart from the service provider storage systems and a plurality of localized control paths implemented in respective ones of the service provider storage systems; and
the centralized storage provisioning and management system providing storage provisioning and management functionality for the different service providers in accordance with a software-as-a-service model in which the centralized storage provisioning and management system exclusively controls provisioning and management of the storage arrays associated with the respective service provider storage systems;
wherein the service provider storage systems offload local provisioning and management functionality to the centralized storage provisioning and management system; and
wherein responsive to the storage arrays having different numbers of connections to one or more storage area network switches, the selection algorithm utilizes information relating to occupancy levels of the storage arrays and the numbers of connections to the storage area network switches to choose placement for new storage.

### Claim 13 (depends on 12)

The method of claim 12 wherein said collecting, storing and implementing are performed by at least one processing device having a processor coupled to a memory.

### Claim 14 (depends on 12)

The method of claim 12 further comprising:
receiving a request from a client for storage resources at a particular performance level;
identifying at least a subset of the storage arrays having storage resources available at the particular performance level;
eliminating from consideration any of the identified storage arrays not accessible by the client;
sorting remaining identified storage arrays based on one or more designated utilization measures; and
selecting one or more of the arrays based at least in part on a result of the sorting.

### Claim 15 (depends on 14)

The method of claim 14 wherein the one or more designated utilization measures comprise one or more of array utilization and storage area network utilization.

### Claim 16 (depends on 12)

The method of claim 12 further comprising:
receiving a request from a client for storage resources;
reserving an amount of storage in one or more of the storage arrays as required to satisfy the request; and
automatically configuring said one or more storage arrays to provide the reserved amount of storage at a scheduled time.

### Claim 17

A computer program product comprising a non-transitory processor-readable storage medium having encoded therein executable code of one or more software programs, wherein the one or more software programs when executed in information technology infrastructure cause the information technology infrastructure:
to collect information from a plurality of storage arrays, the storage arrays being associated with respective storage systems, each of the storage systems being associated with a different service provider, each service provider having multiple tenants;
to store the information in a centralized database; and
to implement a selection algorithm for automated provisioning and management of the plurality of storage arrays based on information collected from the storage arrays and stored in the centralized database;
wherein the centralized database is implemented in a centralized storage provisioning and management system configured to control provisioning and management of the service provider storage systems utilizing information collected from the service provider storage systems, the centralized storage provisioning and management system being further configured to associate user identifiers with respective tenants of each of the service providers and to control user access to the storage systems associated with the different service providers in a manner that allows the centralized storage provisioning and management system to track resource usage;
the centralized storage provisioning and management system comprising a centralized control path implemented apart from the service provider storage systems and a plurality of localized control paths implemented in respective ones of the service provider storage systems; and
the centralized storage provisioning and management system providing storage provisioning and management functionality for the different service providers in accordance with a software-as-a-service model in which the centralized storage provisioning and management system exclusively controls provisioning and management of the storage arrays associated with the respective service provider storage systems;
wherein the service provider storage systems offload local provisioning and management functionality to the centralized storage provisioning and management system; and
wherein responsive to the storage arrays having different numbers of connections to one or more storage area network switches, the selection algorithm utilizes information relating to occupancy levels of the storage arrays and the numbers of connections to the storage area network switches to choose placement for new storage.

### Claim 18 (depends on 17)

The computer program product of claim 17 wherein the one or more software programs when executed in information technology infrastructure further cause the information technology infrastructure:
to receive a request from a client for storage resources at a particular performance level;
to identify at least a subset of the storage arrays having storage resources available at the particular performance level;
to eliminate from consideration any of the identified storage arrays not accessible by the client;
to sort remaining identified storage arrays based on one or more designated utilization measures; and
to select one or more of the arrays based at least in part on a result of the sorting.

### Claim 19 (depends on 18)

The computer program product of claim 18 wherein the one or more designated utilization measures comprise one or more of array utilization and storage area network utilization.

### Claim 20 (depends on 17)

The computer program product of claim 17 wherein the one or more software programs when executed in information technology infrastructure further cause the information technology infrastructure:
to receive a request from a client for storage resources;
to reserve an amount of storage in one or more of the storage arrays as required to satisfy the request; and
to automatically configure said one or more storage arrays to provide the reserved amount of storage at a scheduled time.
