System and method for providing automated storage provisioning
First Claim
1. A processor-implemented method of providing automated storage provisioning, comprising:
- generating a storage management framework including a resource model representing a set of storage devices for use by an application;
wherein the resource model comprises;
a set of data containers and volume containers,said volume container representing a specialized data container representing a many-to-many relationship between a set of storage devices and a set of host devices that run said application that access said storage devices, wherein each said storage device belongs to only one volume container, and each of said host devices are a part of at least one volume container;
said data containers comprising at least one common attribute selected from the group consisting of;
a unique identifier, one or more services, a policy, and one or more data containers, wherein the data containers obtain storage from another of said data containers or one of said volume containers and wherein the data containers comprise a file system container that represents a file system, a database container that represents a database, a tablespace container that represents a tablespace, a logical volume container that represents a logical volume, and a volume group data container that represents a volume group;
and database containers contain the following attributes;
name, owner, block size, log mode, status, read-write, read-only, maximum instances, number of tablespaces, maximum data files, number of data files, maximum log files, number of log files, total size, free space, create time, delete time, log size, log free space, type, and server;
defining high level policies representing a management policy regarding user-level specifications associated with said application, said high level policies being mapped at the data container virtual level and the volume container level such that each of said policies is associated with at least one of said containers, said policies dictating associations of said data containers and associated ones of said volume container with regard to types of containers and types of volumes in the volume containers and quality of storage in the data containers, and zoning of said applications and said storage devices, wherein inter-virtual level policies are validated to avoid conflicts, and wherein polices for a specified data container are applied to virtual levels of data containers below said specified data container, and the policies at all virtual levels below each of said data containers are nonconflicting or with well-defined priorities between the data containers to pre-empt conflicting policies, and each data container has a single policy,and policy attributes comprise performance in transactions per second, availability, allocation, replication, and security, and availability comprises no single point of failure, and number of local data copies, and allocation comprises automatic extension, maximum extension amount, extension trigger and extension time, and replication comprises target quality, schedule, frequency, replication mechanism, location, recovery time objective, recovery point objective, and security comprises exclusive storage pool access, wire encryption, data encryption, and write once read many media;
converting user expectations into volume container storage service class attributes;
representing said storage as a stack from said application to a lowest virtual level storage subsystem in said storage devices wherein said policies further map application requirements at a top of the storage stack to resources at a lowest virtual level of the storage stack;
providing storage to the application independent of interfaces used by the set of storage devices,wherein the volume container interfaces directly with the storage devices utilizing services for a specific resource in the storage devices providing the specific physical or logical storage resource and is located at a bottom of said storage stack, each of said storage devices belonging to only one of said volume containers;
executing storage services by recursively processing the storage stack starting from a top-level data container;
verifying pre-packaged storage services compatibility with each other by the storage management framework when the storage management framework provides support for services and verifying pre-packaged storage services compatibility with each other by the user when the user provides support for services;
testing pre-packaged services in all virtual levels;
cloning an upper virtual level data container that is in a recursive data relationship such that cloning the upper virtual level data container in a recursive data relationship results in all lower virtual level data containers being cloned; and
simplifying storage management by hiding device details of the storage devices.
1 Assignment
0 Petitions
Accused Products
Abstract
A storage provisioning system generates a storage management framework comprising a resource model representing a set of storage devices for use by an application. The resource model comprises a set of data containers and at least one volume container such that the resource model provides storage to the application independent of a plurality of interfaces used by the set of storage devices. The volume container is a specialized data container that interfaces directly with the storage devices and represents a bottom of a storage stack comprising at least one data container and at least one volume container. The resource model comprises a rules module for governing the construction of the data containers and the volume container and association between the data containers and the volume container.
139 Citations
18 Claims
-
1. A processor-implemented method of providing automated storage provisioning, comprising:
-
generating a storage management framework including a resource model representing a set of storage devices for use by an application; wherein the resource model comprises; a set of data containers and volume containers, said volume container representing a specialized data container representing a many-to-many relationship between a set of storage devices and a set of host devices that run said application that access said storage devices, wherein each said storage device belongs to only one volume container, and each of said host devices are a part of at least one volume container; said data containers comprising at least one common attribute selected from the group consisting of;
a unique identifier, one or more services, a policy, and one or more data containers, wherein the data containers obtain storage from another of said data containers or one of said volume containers and wherein the data containers comprise a file system container that represents a file system, a database container that represents a database, a tablespace container that represents a tablespace, a logical volume container that represents a logical volume, and a volume group data container that represents a volume group;and database containers contain the following attributes;
name, owner, block size, log mode, status, read-write, read-only, maximum instances, number of tablespaces, maximum data files, number of data files, maximum log files, number of log files, total size, free space, create time, delete time, log size, log free space, type, and server;defining high level policies representing a management policy regarding user-level specifications associated with said application, said high level policies being mapped at the data container virtual level and the volume container level such that each of said policies is associated with at least one of said containers, said policies dictating associations of said data containers and associated ones of said volume container with regard to types of containers and types of volumes in the volume containers and quality of storage in the data containers, and zoning of said applications and said storage devices, wherein inter-virtual level policies are validated to avoid conflicts, and wherein polices for a specified data container are applied to virtual levels of data containers below said specified data container, and the policies at all virtual levels below each of said data containers are nonconflicting or with well-defined priorities between the data containers to pre-empt conflicting policies, and each data container has a single policy, and policy attributes comprise performance in transactions per second, availability, allocation, replication, and security, and availability comprises no single point of failure, and number of local data copies, and allocation comprises automatic extension, maximum extension amount, extension trigger and extension time, and replication comprises target quality, schedule, frequency, replication mechanism, location, recovery time objective, recovery point objective, and security comprises exclusive storage pool access, wire encryption, data encryption, and write once read many media; converting user expectations into volume container storage service class attributes; representing said storage as a stack from said application to a lowest virtual level storage subsystem in said storage devices wherein said policies further map application requirements at a top of the storage stack to resources at a lowest virtual level of the storage stack; providing storage to the application independent of interfaces used by the set of storage devices, wherein the volume container interfaces directly with the storage devices utilizing services for a specific resource in the storage devices providing the specific physical or logical storage resource and is located at a bottom of said storage stack, each of said storage devices belonging to only one of said volume containers; executing storage services by recursively processing the storage stack starting from a top-level data container; verifying pre-packaged storage services compatibility with each other by the storage management framework when the storage management framework provides support for services and verifying pre-packaged storage services compatibility with each other by the user when the user provides support for services; testing pre-packaged services in all virtual levels; cloning an upper virtual level data container that is in a recursive data relationship such that cloning the upper virtual level data container in a recursive data relationship results in all lower virtual level data containers being cloned; and simplifying storage management by hiding device details of the storage devices. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer program product having program codes stored on a computer-readable medium for use in connection with a computer for providing automated storage provisioning comprising:
-
a program code for generating a storage management framework including a resource model representing a set of storage devices for use by an application; wherein the resource model comprises a set of data containers and volume containers, the resource model modeling said storage as a stack from said application to a lowest virtual level storage subsystem in said storage devices, and including high level policies defining a management policy regarding user-level specifications associated with said application mapped at each of a virtual level associated with a data container and a volume container, said policies dictating management of an associated one of said data container and said volume container, wherein inter-virtual level policies are validated to avoid conflicts; and
wherein said inter-virtual level polices for a specified data container are applied to virtual levels of data containers below said specified data container, and the inter-virtual level policies at all virtual levels below each of said data containers are one of;
nonconflicting or with well-defined priorities for pre-emption, and each data container has a single policy;wherein the data containers obtain storage from another of said data containers or one of said volume containers and wherein the data containers comprise a file system container that represents a file system, a database container that represents a database, a tablespace container that represents a tablespace, a logical volume container that represents a logical volume, and a volume group data container that represents a volume group; wherein the resource model provides storage to the application independent of interfaces used by the set of storage devices; wherein the volume container is a specialized data container that interfaces directly with the storage devices and that is located at a bottom of said storage stack, each of said storage devices belonging to only one of said volume containers; a program code for executing storage services by recursively processing the storage stack starting from a top-level data container; a program code for verifying pre-packaged storage services compatibility with each other by the storage management framework when the storage management framework provides support for services and verifying pre-packaged storage services compatibility with each other by the user when the user provides support for services; a program code for testing pre-packaged services in all virtual levels; and a program code for cloning an upper virtual level data container that is in a recursive data relationship such that cloning the upper virtual level data container in a recursive data relationship results in all lower virtual level data containers being cloned. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A processor-implemented system of providing automated storage provisioning, comprising:
-
a storage management framework including a resource model representing a set of storage devices for use by an application; wherein the resource model comprises a set of data containers and volume containers, wherein high level policies defining a management policy regarding user-level specifications associated with said application are mapped at a data container virtual level and further mapped to a volume container virtual level, and types of volumes in the volume containers and quality of storage in the data containers, said policies dictate management of an associated one of said data container and said volume container, wherein inter-virtual level policies are validated to avoid any conflicts; and
wherein polices for a specified data container are applied to virtual levels of data containers below said specified data container, and the policies at all virtual levels below each of said data containers are one of;
nonconflicting or with well-defined priorities for pre-emption, and each data container has a single policy;wherein the data containers obtain storage from another of said data containers or one of said volume containers and wherein the data containers comprise a file system container that represents a file system, a database container that represents a database, a tablespace container that represents a tablespace, a logical volume container that represents a logical volume, and a volume group data container that represents a volume group; said database containers containing the following attributes;
name, owner, block size, log mode, status, read-write, read-only, maximum instances, number of tablespaces, maximum data files, number of data files, maximum log files, number of log files, total size, free space, create time, delete time, log size, log free space, type, and server;wherein the resource model provides storage to the application independent of interfaces used by the set of storage devices, the resource model modeling said storage as a stack from said application to a lowest virtual level storage subsystem in said storage devices; wherein the volume container is a specialized data container that interfaces directly with the storage devices and that is located at a bottom of said storage stack, wherein each said storage device belongs to only one volume container, and each of said host devices are a part of at least one volume container; and
simplifying storage management by hiding the device details of the storage devices;executing storage services by recursively processing the storage stack starting from a top-level data container; verifying pre-packaged storage services compatibility with each other by the storage management framework when the storage management framework provides support for services and verifying pre-packaged storage services compatibility with each other by the user when the user provides support for services; and cloning an upper virtual level data container that is in a recursive data relationship such that cloning the upper virtual level data container in a recursive data relationship results in all lower virtual level data containers being cloned. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification