Unified framework for policy-based metadata-driven storage services
Abstract
Providing a service in a storage system includes using a predicate that corresponds to a subset of storage objects in a set of storage objects stored in the storage system. The predicate is used to select or reject the objects to which the service is to be provided. The predicate is applied to the set of storage objects to obtain the subset of storage objects. The service is then invoked for the subset of storage objects selected according to the predicate. A trigger event causes invocation of the service. The trigger event may be periodic and/or may be a storage object lifecycle event, a storage object access related event, an event corresponding to a state change of the storage system, or an event that is external to the storage system. The trigger event may include the predicate being modified.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method of providing a service in a storage system, comprising:
providing a policy definition that corresponds to a subset of storage objects in a set of storage objects stored in the storage system, wherein the policy definition includes a service level objective and is used to select or reject objects to which a service-related action corresponding to the service is to be provided, wherein the service level objective indicates a relative importance of the services and shares of system resources that services are allowed to consume;
applying the policy definition to the set of storage objects to obtain the subset of storage objects, wherein applying the policy definition includes annotating preexisting metadata for the subset of storage objects;
invoking the service for the subset of storage objects, wherein a trigger event causes invoking the service and wherein the subset of storage objects is determined based on annotation of the preexisting metadata; and
posting a message to a job service queue that causes the service-related action to be performed for storage objects having annotated preexisting metadata indicating service-related asynchronous operations on the storage objects, wherein the service-related action corresponds to at least one of: services for data protection, availability and integrity, services for data immutability, and services that improve application performance and take on some aspects of application functionality.
2. A method, according to claim 1 , wherein the trigger event is periodic.
3. A method, according to claim 2 , wherein a routine periodically determines if the service is to be invoked.
4. A method, according to claim 1 , wherein the trigger event is one of: a storage object lifecycle event, a storage object access related event, an event corresponding to a state change of the storage system, and an event that is external to the storage system.
5. A method, according to claim 1 , wherein the trigger event includes an event that corresponds to the policy definition being modified.
6. Computer software, that provides a service in a storage system, the software being provided in a computer-readable storage medium and comprising:
executable code that provides a policy definition that corresponds to a subset of storage objects in a set of storage objects stored in the storage system, wherein the policy definition includes a service level objective and is used to select or reject objects to which a service-related action corresponding to the service is to be provided, wherein the service level objective indicates a relative importance of the services and shares of system resources that services are allowed to consume;
executable code that applies the policy definition to the set of storage objects to obtain the subset of storage objects, wherein applying the policy definition includes annotating preexisting metadata for the subset of storage objects;
executable code that invokes the service for the subset of storage objects, wherein a trigger event causes the executable code that invokes the service to be executed and wherein the subset of storage objects is determined based on annotation of the preexisting metadata; and
executable code that posts a message to a job service queue that causes the service-related action to be performed for storage objects having annotated preexisting metadata indicating service-related asynchronous operations on the storage objects, wherein the service-related action corresponds to at least one of: services for data protection, availability and integrity, services for data immutability, and services that improve application performance and take on some aspects of application functionality.
7. Computer software, according to claim 6 , wherein the trigger event is periodic.
8. Computer software, according to claim 7 , further comprising:
executable code that periodically determines if the service is to be invoked.
9. Computer software, according to claim 6 , wherein the trigger event is one of: a storage object lifecycle event, a storage object access related event, an event corresponding to a state change of the storage system, and an event that is external to the storage system.
10. Computer software, according to claim 6 , wherein the trigger event includes an event that corresponds to the policy definition being modified.
11. A data storage system, comprising:
a plurality of clients that access storage objects; and
a plurality of interconnected servers, coupled to the clients, at least one of the servers providing a policy definition that corresponds to a subset of storage objects in a set of storage objects stored in the storage system, wherein the policy definition includes a service level objective and is used to select or reject objects to which a service-related action corresponding to the service is to be provided and wherein the service level objective indicates a relative importance of the services and shares of system resources that services are allowed to consume and wherein at least one of the clients and the servers applies the policy definition to the set of storage objects to obtain the subset of storage objects and invokes the service for the subset of storage objects and wherein a trigger event causes invoking the service and wherein the subset of storage objects is determined based on annotation of preexisting metadata and a message is posted to a job service queue that causes the service-related action to be performed for storage objects having annotated preexisting metadata indicating service-related asynchronous operations on the storage objects, wherein the service-related action corresponds to at least one of: services for data protection, availability and integrity, services for data immutability, and services that improve application performance and take on some aspects of application functionality.
12. A data storage system, according to claim 11 , wherein the trigger event includes an event that corresponds to the policy definition being modified.
13. A method, according to claim 1 , wherein the service is selected from the group consisting of: data immutability, RAID, versioning, snapshots, backup, asynchronous replication for disaster recovery, asynchronous space reclamation, object encryption, data-at-rest-encryption, data compression, and green/spindown services.
14. Computer software, according to claim 6 , wherein the service is selected from the group consisting of: data immutability, RAID, versioning, snapshots, backup, asynchronous replication for disaster recovery, asynchronous space reclamation, object encryption, data-at-rest-encryption, data compression, and green/spindown services.
15. A data storage system, according to claim 11 , wherein the service is selected from the group consisting of: data immutability, RAID, versioning, snapshots, backup, asynchronous replication for disaster recovery, asynchronous space reclamation, object encryption, data-at-rest-encryption, data compression, and green/spindown services.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.