IP Library › Granted Patent US 10,938,901
Granted Patent B2
US 10,938,901 · App. 15/404,096 · Granted Mar 2, 2021

Management and utilization of data volumes in a converged system

Inventors: Lior Aronovich (Thornhill, CA); Shijie Che (Toronto, CA); Jordan J. Keon (Aurora, CA); Ting Xue (Richmond Hill, CA)
Assignee: International Business Machines Corporation
H04L67/1097G06F16/2246G06F16/2272H04L41/0896H04L67/306H04L67/06
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,938,901
App. No.
15/404,096
Granted
Mar 2, 2021
Kind
B2
Abstract

A computer-implemented method according to one embodiment includes 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, setting a storage capacity attribute for the consumer, and conditionally defining a data volume for the consumer, based at least in part on the storage capacity attribute.

Claims (84)

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 unit within an organization that receives computing and storage resources assigned to the consumer through the converged system,

the consumer has one or more associated applications that are run within the converged system,

the consumer has a set of attributes that control a way by which the computing and storage resources are made available to the consumer and its associated applications, and

the hierarchy of consumers includes a hierarchical consumer tree that allows for resource inheritance;

setting the set of attributes, including a storage capacity attribute, for the consumer, including:

assigning the storage capacity attribute a disabled value in response to determining that a storage capacity mechanism is not applied to the consumer,

assigning the storage capacity attribute an unlimited value in response to determining that there is no limit to a storage capacity associated with the associated consumer, and

assigning the storage capacity attribute a limited value in response to determining that a positive value storage capacity limit is assigned to the consumer, the limited value indicating an upper bound on storage allocated to the consumer,

assigning the storage capacity attribute the disabled value during an initialization of the consumer,

assigning the storage capacity attribute the unlimited value or the limited value in response to determining that a parent node of the consumer within the hierarchical consumer tree has a capacity attribute that is different than disabled, and

assigning the storage capacity attribute the unlimited value or the limited value in response to determining that the consumer is a root node within the hierarchical consumer tree; and

conditionally providing access to a data volume to the one or more associated applications, based at least in part on the storage capacity attribute.

2. The computer-implemented method of claim 1 , wherein the consumer has an associated identification value and name.

3. The computer-implemented method of claim 1 , wherein access to data volumes assigned to the consumer, parents of the consumer within the hierarchical consumer tree, and a root consumer within the hierarchical consumer tree is provided to the one or more associated applications.

4. The computer-implemented method of claim 1 , wherein the hierarchy of consumers includes:

the root node representing another unit within the organization to which computing and storage resources are allocated,

a plurality of child nodes of the root node representing sub-consumers, and

a plurality of leaf nodes representing applications run within the converged system;

wherein the root node and the plurality of child nodes each have the set of attributes, where the set of attributes further includes:

a name, and

an identification value;

wherein each of the plurality of child nodes inherits access to the computing and storage resources allocated to a parent of the child node.

5. The computer-implemented method of claim 1 , further comprising aggregating storage statistics for a plurality of data volumes and consumers by:

configuring a storage system to maintain storage statistics on file or object granularity,

aggregating storage statistics on the file or object granularity to a data volume granularity using an association of files or objects to data volumes, and

aggregating storage statistics of the data volume granularity to a consumer granularity using an association of data volumes to the consumers.

6. The computer-implemented method of claim 1 , further comprising aggregating storage statistics for a plurality of data volumes and consumers by:

configuring a storage system to maintain storage statistics on a storage device granularity,

defining a storage device to be dedicated to a single data volume,

aggregating storage statistics of the storage device granularity to a data volume granularity using an association of storage devices to data volumes, and

aggregating storage statistics of the data volume granularity to a consumer granularity using an association of data volumes to consumers.

7. The computer-implemented method of claim 1 , further comprising:

aggregating storage statistics for a plurality of data volumes and consumers by:

configuring a storage system to maintain storage statistics on file or object granularity,

aggregating storage statistics on the file or object granularity to a data volume granularity using an association of files or objects to data volumes, and

aggregating storage statistics of the data volume granularity to a consumer granularity using an association of data volumes to the consumers;

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 value, wherein the current free capacity is determined by subtracting from the limited value a storage capacity of a plurality of child consumers of a consumer within the hierarchy of consumers as well as sizes of a plurality of data volumes defined for the consumer;

associating with the consumer a list of user accounts and user groups with associated access permissions for data volumes, where the access permissions allow authenticated access to the data volumes, and where descendant consumers of a consumer within the hierarchy of consumers inherit a list of user accounts and user groups with the associated access permissions associated with the consumer or inherited from ancestor consumers of the consumer; and

calculating and reporting storage statistics for the data volume, where the storage statistics are translated from different types into a uniform scale, and are presented using one or more sliding time windows of various resolutions,

wherein access to data volumes assigned to the consumer, parents of the consumer within the hierarchical consumer tree, and a root consumer within the hierarchical consumer tree is provided to the one or more associated applications.

8. 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 value, wherein the current free capacity is determined by subtracting from the limited value a storage capacity of a plurality of child consumers of a consumer within the hierarchy of consumers as well as sizes of a plurality of data volumes defined for the consumer.

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

10. The computer-implemented method of claim 1 , further comprising associating with the consumer a list of user accounts and user groups with associated access permissions for data volumes, where the access permissions allow authenticated access to the data volumes.

11. The computer-implemented method of claim 10 , wherein descendant consumers of a consumer within the hierarchy of consumers inherit a list of user accounts and user groups with the associated access permissions associated with the consumer or inherited from ancestor consumers of the consumer.

12. The computer-implemented method of claim 1 , further comprising calculating and reporting storage statistics for the data volume.

13. The computer-implemented method of claim 12 , wherein the storage statistics are translated from different types into a uniform scale, and are presented using one or more sliding time windows of various resolutions.

14. A computer program product for managing storage attributes in association with a consumer, 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, utilizing the processor, a request to create a consumer within a converged system;

defining, utilizing the processor, the consumer within a hierarchy of consumers, where:

the consumer represents a unit within an organization that receives computing and storage resources assigned to the consumer through the converged system,

the consumer has one or more associated applications that are run within the converged system,

the consumer has a set of attributes that control a way by which the computing and storage resources are made available to the consumer and its associated applications, and

the hierarchy of consumers includes a hierarchical consumer tree that allows for resource inheritance;

setting, utilizing the processor, the set of attributes, including a storage capacity attribute, for the consumer, including:

assigning the storage capacity attribute a disabled value, utilizing the processor, in response to determining that a storage capacity mechanism is not applied to the consumer,

assigning the storage capacity attribute an unlimited value, utilizing the processor, in response to determining that there is no limit to a storage capacity associated with the associated consumer, and

assigning the storage capacity attribute a limited value, utilizing the processor, in response to determining that a positive value storage capacity limit is assigned to the consumer, the limited value indicating an upper bound on storage allocated to the consumer,

assigning the storage capacity attribute the disabled value during an initialization of the consumer,

utilizing the processor,

assigning the storage capacity attribute the unlimited value or the limited value in response to determining that a parent node of the consumer within the hierarchical consumer tree has a capacity attribute that is different than disabled, utilizing the processor, and

assigning the storage capacity attribute the unlimited value or the limited value in response to determining that the consumer is a root node within the hierarchical consumer tree, utilizing the processor; and

conditionally providing access to a data volume to the one or more associated applications, utilizing the processor, based at least in part on the storage capacity attribute.

15. The computer program product of claim 14 , further comprising referencing the data volume by an application assigned to the consumer, utilizing the processor.

16. The computer program product of claim 14 , further comprising referencing, by an application assigned to the consumer, another data volume that is assigned to an ancestor consumer of a consumer within the hierarchy of consumers, utilizing the processor.

17. A system, comprising:

a hardware processor; and

logic integrated with the hardware processor, executable by the hardware processor, or integrated with and executable by the hardware 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 unit within an organization that receives computing and storage resources assigned to the consumer through the converged system,

the consumer has one or more associated applications that are run within the converged system,

the consumer has a set of attributes that control a way by which the computing and storage resources are made available to the consumer and its associated applications, and

the hierarchy of consumers includes a hierarchical consumer tree that allows for resource inheritance;

set the set of attributes, including a storage capacity attribute, for the consumer, including:

assigning the storage capacity attribute a disabled value in response to determining that a storage capacity mechanism is not applied to the consumer,

assigning the storage capacity attribute an unlimited value in response to determining that there is no limit to a storage capacity associated with the associated consumer, and

assigning the storage capacity attribute a limited value in response to determining that a positive value storage capacity limit is assigned to the consumer, the limited value indicating an upper bound on storage allocated to the consumer,

assigning the storage capacity attribute the disabled value during an initialization of the consumer,

assigning the storage capacity attribute the unlimited value or the limited value in response to determining that a parent node of the consumer within the hierarchical consumer tree has a capacity attribute that is different than disabled, and

assigning the storage capacity attribute the unlimited value or the limited value in response to determining that the consumer is a root node within the hierarchical consumer tree; and

conditionally provide access to a data volume to the one or more associated applications, based at least in part on the storage capacity attribute.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2017
From: ARONOVICH, LIOR; CHE, SHIJIE; KEON, JORDAN J.; XUE, TING
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040973/0223 →
Continuity (1)
Related Publication 20180198861A1 · Jul 12, 2018
Cited By (1)
US 12,210,765