Modular service level objective (SLO) subsystem for a network storage system
First Claim
1. A service level objective (SLO) engine comprising:
- an interface by which the SLO engine can communicate with a plurality of modules that are functionally distinct from each other and the SLO engine, each of the modules designed to evaluate a different one of a plurality of degrees of freedom of a data storage system in relation to any specified SLO and to produce a corresponding result; and
a compliance unit to determine, based on the results produced by the modules, one or more operations to perform on the data storage system in one or more of the plurality of degrees of freedom to increase a degree to which a specified SLO is satisfied;
wherein the compliance unit is configured to determine the one or more operations to perform on the data storage system by executing a process that includes;
ranking the results from the modules; and
selecting a proposed layout in one of the ranked results to apply to the data storage system.
1 Assignment
0 Petitions
Accused Products
Abstract
A service level objective (SLO) subsystem that includes an SLO engine in a network storage system that allows new degrees of freedom to be added to the SLO subsystem, without requiring any modification of an associated SLO engine or the system'"'"'s existing SLOs, and without requiring the SLO engine to have any a priori knowledge of the new degrees of freedom. In certain embodiments, the system has a modular design which includes the SLO engine and one or more SLO modules that interface with the SLO engine. Each SLO module corresponds to a different degree of freedom. Each SLO module evaluates SLO compliance and determines what specific action(s) within its corresponding degree of freedom should be taken to comply with an SLO.
14 Citations
28 Claims
-
1. A service level objective (SLO) engine comprising:
-
an interface by which the SLO engine can communicate with a plurality of modules that are functionally distinct from each other and the SLO engine, each of the modules designed to evaluate a different one of a plurality of degrees of freedom of a data storage system in relation to any specified SLO and to produce a corresponding result; and a compliance unit to determine, based on the results produced by the modules, one or more operations to perform on the data storage system in one or more of the plurality of degrees of freedom to increase a degree to which a specified SLO is satisfied; wherein the compliance unit is configured to determine the one or more operations to perform on the data storage system by executing a process that includes; ranking the results from the modules; and selecting a proposed layout in one of the ranked results to apply to the data storage system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A service level objective (SLO) subsystem for use in a data storage system, the SLO subsystem comprising:
-
a database to store SLO data defining an SLO; and an SLO engine to implement a first degree of freedom according to the SLO by performing a first defined operation in the data storage system responsive to the SLO data, the SLO subsystem being configurable to implement, without requiring modification of the SLO engine or the SLO, a new degree of freedom associated with a second operation that is performable in the data storage system responsive to the SLO, wherein the SLO engine has no knowledge of the new degree of freedom or the new operation before the SLO subsystem is configured to provide the new degree of freedom, the SLO engine including an interface capable of communicating with an arbitrary number of external modules, each of which is designed to evaluate a different degree of freedom in relation to any arbitrary SLO. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A processing system comprising:
-
a processor; a memory coupled to the processor; a plurality of modules, each representing a different degree of freedom of a data storage system; and an SLO engine, operatively coupled to but functionally distinct from each of the modules, to provide to each of the modules SLO data indicating a desired SLO for the data storage system and state data representing a current state of data stored in the data storage system, to receive from each of the modules a separate output array that includes a proposed layout and an SLO value associated with the proposed layout, the SLO engine including an interface capable of communicating with an arbitrary number of external modules, each of which is designed to evaluate a different degree of freedom in relation to any arbitrary SLO. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A method comprising:
-
operating a service level objective (SLO) engine in a data storage system to implement a first degree of freedom, by performing an operation of a first type in the data storage system responsive to a defined SLO; and enabling the SLO engine to implement a new degree of freedom associated with an operation of a second type performable in the data storage system responsive to the defined SLO, by operatively coupling a functional module to the SLO engine, the functional module corresponding to the second degree of freedom and the operation of the second type, wherein the functional module is designed with specific knowledge of the second degree of freedom but with no knowledge of the SLO and is designed to evaluate the second degree of freedom in relation to any arbitrary SLO, wherein the SLO engine has no knowledge of the second degree of freedom or the operation of the second type prior to when the functional module is operatively coupled to the SLO engine. - View Dependent Claims (22)
-
-
23. A method comprising:
-
providing, to each of a plurality of functional modules, service level objective (SLO) data indicative of a specified SLO for a data storage system and state data indicative of a current state of the data storage system, each of the functional modules corresponding to a different one of a plurality of degrees of freedom, each of the functional modules configured to apply the SLO data and the state data to a function that represents a particular relationship between an SLO characteristic and the corresponding degree of freedom, wherein each of the functional modules is designed with specific knowledge of the degree of freedom but with no knowledge of the SLO and is designed to evaluate the degree of freedom in relation to any arbitrary SLO; receiving from each said functional module an output set that includes a layout for the data storage system and an indication of a degree to which the layout will satisfy the specified SLO; and selecting a layout to apply to the data storage system based on the output sets from the plurality of functional modules. - View Dependent Claims (24, 25, 26, 27, 28)
-
Specification