# US 10,768,986 B2 · Management and utilization of storage capacities in a converged system

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

- Number: US 10,768,986 B2
- Document ID: US10768986B2
- Status: Granted
- Kind: B2
- Application number: 15/400,741
- Filed: 2017-01-06
- Published: 2018-07-12
- Granted: 2020-09-08
- Earliest claimed: 2017-01-06
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Lior Aronovich; Stephen Ronald Haertel; Kiran Mantripragada; Ting Xue
- Web page: https://patentgrep.com/patent/US10768986B2

## CPC

- G06F 9/5016: {the resource being the memory}
- G06F 3/0605: {by facilitating the interaction with a user or administrator}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/0649: {Lifecycle management}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0685: {Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer-implemented method according to one embodiment includes identifying a request to create a consumer within a converged system. Additionally, the method includes defining the consumer within a hierarchy of consumers, where the consumer represents a function in an organization. Further, the method includes associating the consumer with a plurality of storage resources and a plurality of computing resources. Further still, the method includes setting a storage capacity attribute for the consumer.

## Claims

### Claim 1

A computer-implemented method, comprising:
identifying a request to create a consumer within a converged system;
defining the consumer within a hierarchy of consumers, where the consumer represents a function in an organization, and where the hierarchy of consumers includes:
a root consumer having a storage capacity attribute with a value that is less than or equal to a total amount of a plurality of storage resources available to the hierarchy of consumers, and
a plurality of leaf nodes each representing an application within the converged system, where each application inherits access to a portion of the plurality of storage resources available to a parent node of the application within the hierarchy of consumers;
associating the consumer with the plurality of storage resources and a plurality of computing resources; and
adjusting a storage capacity attribute for the consumer in response to a removal of a portion of the plurality of storage resources, where while a value for the storage capacity attribute assigned to the root consumer is greater than a physical storage capacity of the remaining plurality of storage resources, additional data volumes are prevented from being defined for consumers within the organization, and a storage capacity attribute for all consumers within the organization is prevented from being increased.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the storage capacity attribute is pre-set with a disabled value for the consumer that indicates that no storage resources are allocated to the consumer in response to determining that the consumer is created.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the storage capacity attribute is set to a first value indicating that there is no limit to a storage capacity in response to determining that the consumer has no parent, or a parent with a storage capacity attribute set to the first value, within a hierarchy of consumers.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, further comprising:
in response to identifying an increase in a physical storage capacity provided by a plurality of storage systems, assigning at least a portion of the increased physical storage capacity to the root consumer by increasing a value of a storage capacity attribute of the root consumer,
pre-setting the storage capacity attribute with a disabled value for the consumer that indicates that no storage resources are allocated to the consumer in response to determining that the consumer is created,
setting the storage capacity attribute to a first value indicating that there is no limit to a storage capacity in response to determining that the consumer has no parent, or a parent with a storage capacity attribute set to the first value, within the hierarchy of consumers, and
setting the storage capacity attribute to a second value indicating a limit to a storage capacity in response to determining that the consumer has a parent with a storage capacity attribute set to a limited value less than a predetermined value within the hierarchy of consumers for the organization.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, further comprising determining a current free capacity for the consumer in response to determining that the storage capacity attribute for the consumer is set to a limited capacity value, wherein the current free capacity is determined by subtracting from the limited capacity value a storage capacity of all child consumers nodes of the consumer within a hierarchy of consumers.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, further comprising maintaining a current free capacity for the consumer as a non-negative number.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, further comprising identifying a request to change the storage capacity attribute for the consumer to a new value, and allowing the change of the storage capacity attribute in response to determining that the new value or a difference between the new value and an existing value is not larger than a current free capacity for a parent consumer of the consumer.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, further comprising identifying a root consumer within a hierarchy of consumers, and setting the storage capacity attribute for the root consumer to be less than or equal to a total amount of the plurality of storage resources provided by a plurality of storage systems.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein the hierarchy of consumers includes a tree organization structure including:
a root consumer node associated with the root consumer, and
a plurality of child consumer nodes, where each of the plurality of child consumer nodes represents one of a plurality of consumers,
where the application references and uses the storage resources assigned to the leaf node and parents of the leaf node.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, further comprising, in response to identifying an increase in a physical storage capacity provided by a plurality of storage systems, assigning at least a portion of the increased physical storage capacity to the root consumer by increasing a value of a storage capacity attribute of the root consumer.

### Claim 11 (depends on 1)

The computer-implemented method of claim 1, further comprising:
pre-setting the storage capacity attribute with a disabled value for the consumer that indicates that no storage resources are allocated to the consumer in response to determining that the consumer is created;
setting the storage capacity attribute to a first value indicating that there is no limit to a storage capacity in response to determining that the consumer has no parent, or a parent with a storage capacity attribute set to the first value, within the hierarchy of consumers; and
setting the storage capacity attribute to a second value indicating a limit to a storage capacity in response to determining that the consumer has a parent with a storage capacity attribute set to a limited value less than a predetermined value, within the hierarchy of consumers for the organization.

### Claim 12 (depends on 1)

The computer-implemented method of claim 1, wherein the hierarchy of consumers for the organization is formed as a tree structure.

### Claim 13 (depends on 1)

The computer-implemented method of claim 1, wherein in response to determining that a free capacity value for a consumer is zero, then a capacity value for the consumer is assigned a disabled value.

### Claim 14 (depends on 1)

The computer-implemented method of claim 1, further comprising, in response to identifying a removal of a portion of a physical storage capacity provided by a plurality of storage systems, performing one or more reductions to a storage capacity attribute of one or more consumers within a converged system and adjusting one or more data volumes within the converged system.

### Claim 15 (depends on 14)

The computer-implemented method of claim 14, wherein the reductions are iteratively performed until a value for the storage capacity attribute assigned to a root consumer is equal to or less than the physical storage capacity provided by the plurality of storage systems.

### Claim 16 (depends on 14)

The computer-implemented method of claim 14, wherein adjusting the one or more data volumes within the converged system is selected from a group consisting of reducing a size of a data volume and removing a data volume.

### Claim 17 (depends on 14)

The computer-implemented method of claim 14, further comprising decreasing a value of the storage capacity attribute of the one or more consumers so that, for each of the one or more consumers, the value of the storage capacity attribute for the consumer is not greater than a current free capacity for the consumer.

### Claim 18 (depends on 14)

The computer-implemented method of claim 14, wherein a value of the storage capacity attribute of the one or more consumers within the organization is decreased utilizing a bottom-up method.

### Claim 19 (depends on 14)

The computer-implemented method of claim 14, wherein performing the one or more reductions to the storage capacity attribute of one or more consumers within the organization includes:
reducing a size of a data volume for the one or more consumers to a size not less than an actual size used by data written in the data volume; or
reducing a size of a data volume for the one or more consumers to a size less than an actual size used by data written in the data volume, where further data is not written to the data volume until previous data is removed from the data volume to bring the actual size used by the data lower than the reduced size of the data volume.

### Claim 20

A computer program product for managing storage resources in a converged system, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions executable by a processor to cause the processor to perform a method comprising:
identifying a request to create a consumer within the converged system, utilizing the processor;
defining, utilizing the processor, the consumer within a hierarchy of consumers, where the consumer represents a function in an organization, and where the hierarchy of consumers includes:
a root consumer having a storage capacity attribute with a value that is less than or equal to a total amount of a plurality of storage resources available to the hierarchy of consumers, and
a plurality of leaf nodes each representing an application within the converged system, where each application inherits access to a portion of the plurality of storage resources available to a parent node of the application within the hierarchy of consumers;
associating the consumer with the plurality of storage resources and a plurality of computing resources, utilizing the processor; and
adjusting a storage capacity attribute for the consumer, utilizing the processor, in response to a removal of a portion of the plurality of storage resources, where while a value for the storage capacity attribute assigned to the root consumer is greater than a physical storage capacity of the remaining plurality of storage resources, additional data volumes are prevented from being defined for consumers within the organization, and a storage capacity attribute for all consumers within the organization is prevented from being increased.

### Claim 21 (depends on 20)

The computer program product of claim 20, wherein the storage capacity attribute is pre-set with a disabled value for the consumer in response to determining that the consumer is created.

### Claim 22 (depends on 20)

The computer program product of claim 20, wherein the storage capacity attribute is set to an unlimited value in response to determining that the consumer has no parent, or a parent with a storage capacity attribute set to an unlimited value, within a hierarchy of consumers.

### Claim 23

A system, comprising:
a processor; and
logic integrated with the processor, executable by the processor, or integrated with and executable by the processor, the logic being configured to:
identify a request to create a consumer within a converged system;
define the consumer within a hierarchy of consumers, where the consumer represents a function in an organization, and where the hierarchy of consumers includes:
a root consumer having a storage capacity attribute with a value that is less than or equal to a total amount of a plurality of storage resources available to the hierarchy of consumers, and
a plurality of leaf nodes each representing an application within the converged system, where each application inherits access to a portion of the plurality of storage resources available to a parent node of the application within the hierarchy of consumers; and
associate the consumer with the plurality of storage resources and a plurality of computing resources;
in response to identifying an increase in a physical storage capacity provided by a plurality of storage systems, assign at least a portion of the increased physical storage capacity to the root consumer by increasing a value of a storage capacity attribute of the root consumer;
pre-set the storage capacity attribute with a disabled value for the consumer that indicates that no storage resources are allocated to the consumer in response to determining that the consumer is created;
set the storage capacity attribute to a first value indicating that there is no limit to a storage capacity in response to determining that the consumer has no parent, or a parent with a storage capacity attribute set to the first value, within the hierarchy of consumers; and
set the storage capacity attribute to a second value indicating a limit to a storage capacity in response to determining that the consumer has a parent with a storage capacity attribute set to a limited value less than a predetermined value, within the hierarchy of consumers for the organization.

### Claim 24

A system, comprising:
a processor; and
logic integrated with the processor, executable by the processor, or integrated with and executable by the processor, the logic being configured to:
identify a request to create a consumer within a converged system;
define the consumer within a hierarchy of consumers, where the consumer represents a function in an organization, and where the hierarchy of consumers includes:
a root consumer having a storage capacity attribute with a value that is less than or equal to a total amount of a plurality of storage resources available to the hierarchy of consumers, and
a plurality of leaf nodes each representing an application within the converged system, where each application inherits access to a portion of the plurality of storage resources available to a parent node of the application within the hierarchy of consumers;
associate the consumer with the plurality of storage resources and a plurality of computing resources; and
adjust a storage capacity attribute for the consumer in response to a removal of a portion of the plurality of storage resources, where while a value for the storage capacity attribute assigned to the root consumer is greater than a physical storage capacity of the remaining plurality of storage resources, additional data volumes are prevented from being defined for consumers within the organization, and a storage capacity attribute for all consumers within the organization is prevented from being increased.

### Claim 25

A computer-implemented method, comprising:
identifying a request to create a consumer within a converged system;
defining the consumer within a hierarchy of consumers, where the consumer represents a function in an organization, and where the hierarchy of consumers includes:
a root consumer having a storage capacity attribute with a value that is less than or equal to a total amount of a plurality of storage resources available to the hierarchy of consumers, and
a plurality of leaf nodes each representing an application within the converged system, where each application inherits access to a portion of the plurality of storage resources available to a parent node of the application within the hierarchy of consumers; and
associating the consumer with the plurality of storage resources and a plurality of computing resources;
in response to identifying an increase in a physical storage capacity provided by a plurality of storage systems, assigning at least a portion of the increased physical storage capacity to the root consumer by increasing a value of a storage capacity attribute of the root consumer;
pre-setting the storage capacity attribute with a disabled value for the consumer that indicates that no storage resources are allocated to the consumer in response to determining that the consumer is created;
setting the storage capacity attribute to a first value indicating that there is no limit to a storage capacity in response to determining that the consumer has no parent, or a parent with a storage capacity attribute set to the first value, within the hierarchy of consumers; and
setting the storage capacity attribute to a second value indicating a limit to a storage capacity in response to determining that the consumer has a parent with a storage capacity attribute set to a limited value less than a predetermined value, within the hierarchy of consumers for the organization.
