Object-oriented framework for generic adaptive control
First Claim
1. A computer-implemented method for automatically tuning one or more target systems, comprising the steps of:
- managing at least one set of metrics corresponding to the one or more target systems;
providing one or more controllers to implement one or more control strategies for adaptively tuning performance characteristics of the one or more target systems based upon the at least one set of metrics, wherein the one or more control strategies are independent of a particular architecture of any of the one or more target systems;
providing one or more adaptors to provide an abstract interface to the one or more target systems with respect to the one or more control strategies, wherein at least one of the one or more adaptors is specific to a corresponding one of the one or more target systems;
automatically invoking the one or more adaptors (i) to obtain metric values from the one or more target systems to compute tuning control values, and (ii) to tune the one or more target systems using the computed tuning control values,wherein said step of providing the one or more controllers comprises the step of selecting the one or more controllers from a plurality of controllers.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method are described for constructing and implementing generic software agents for automated tuning of computer systems and applications. The framework defines the modules and interfaces to allow agents to be created in a modular fashion. The specifics of the target system are captured by adaptors that provide a uniform interface to the target system. Data in the agent is managed by a metric manager, and controller modules implement the desired control algorithms. The modular structure and common interfaces allow for the construction of generic agents that are applicable to a wide variety of target systems, and can use a wide variety of control algorithms.
18 Citations
24 Claims
-
1. A computer-implemented method for automatically tuning one or more target systems, comprising the steps of:
-
managing at least one set of metrics corresponding to the one or more target systems; providing one or more controllers to implement one or more control strategies for adaptively tuning performance characteristics of the one or more target systems based upon the at least one set of metrics, wherein the one or more control strategies are independent of a particular architecture of any of the one or more target systems; providing one or more adaptors to provide an abstract interface to the one or more target systems with respect to the one or more control strategies, wherein at least one of the one or more adaptors is specific to a corresponding one of the one or more target systems; automatically invoking the one or more adaptors (i) to obtain metric values from the one or more target systems to compute tuning control values, and (ii) to tune the one or more target systems using the computed tuning control values, wherein said step of providing the one or more controllers comprises the step of selecting the one or more controllers from a plurality of controllers.
-
-
2. A computer-implemented method for automatically tuning one or more target systems, comprising the steps of:
-
managing at least one set of metrics corresponding to the one or more target systems; providing one or more controllers to implement one or more control strategies to adaptively tune performance characteristics of the one or more target systems based upon the at least one set of metrics, wherein the one or more control strategies are independent of a particular architecture of any of the one or more target systems; providing one or more adaptors to provide an abstract interface to the one or more target systems with respect to the one or more control strategies, wherein at least one of the one or more adaptors is specific to a corresponding one of the one or more target systems; automatically invoking the one or more adaptors (i) to obtain metric values from the one or more target systems to compute tuning control values, and (ii) to tune the one or more target systems using the computed tuning control values, wherein said step of providing the one or more adaptors comprises the step of selecting the one or more adaptors from a plurality of adaptors.
-
-
3. A computer-implemented method for automatically tuning one or more target systems, comprising the steps of:
-
managing at least one set of metrics corresponding to the one or more target systems; providing one or more controllers to implement one or more control strategies to adaptively tune performance characteristics of the one or more target systems based upon the at least one set of metrics, wherein the one or more control strategies are independent of a particular architecture of any of the one or more target systems; providing one or more adaptors to provide an abstract interface to the one or more target systems with respect to the one or more control strategies, wherein at least one of the one or more adaptors is specific to a corresponding one of the one or more target systems; automatically invoking the one or more adaptors (i) to obtain metric values from the one or more target systems to compute tuning control values, and (ii) to tune the one or more target systems using the computed tuning control values; and providing at least one customizer to receive user inputs to customize at least one of said metric manager, said one or more controllers, and said one or more adaptors, the at least one customizer being a graphical user interface.
-
-
4. A computer-based tuning system for automatically tuning one or more target systems, comprising:
-
a metric manager to manage at least one set of metrics corresponding to the one or more target systems, wherein the set of metrics comprise read-only metrics and read/write metrics; one or more controllers to implement one or more control strategies to adaptively tune performance characteristics of the one or more target systems based upon the at least one set of metrics, wherein the one or more control strategies are independent of a particular architecture of any of the one or more target systems, and one or more adaptors to provide an abstract interface to the one or more target systems with respect to the one or more control strategies, wherein at least one of the one or more adaptors is specific to a corresponding one of the one or more target systems, wherein the one or more controllers invoke the one or more adaptors (i) to obtain metric values from the one or more target systems to compute tuning control values, and (ii) to tune the one or more target systems using the computed tuning control values. - View Dependent Claims (5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17)
-
-
10. A computer-based tuning system for automatically tuning one or more target systems, comprising:
-
a metric manager to manage at least one set of metrics corresponding to the one or more target systems; one or more controllers to implement one or more control strategies to adaptively tune performance characteristics of the one or more target systems based upon the at least one set of metrics, wherein the one or more control strategies are independent of a particular architecture of any of the one or more target systems, and one or more adaptors to provide an abstract interface to the one or more target systems with respect to the one or more control strategies, wherein at least one of the one or more adaptors is specific to a corresponding one of the one or more target systems, wherein the one or more controllers invoke the one or more adaptors (i) to obtain metric values from the one or more target systems to compute tuning control values, and (ii) to tune the one or more target systems using the computed tuning control values, wherein said one or more controllers comprise a master controller to resolve conflicts between the one or more control strategies.
-
-
18. A computer-based tuning system for automatically tuning one or more target systems, comprising:
-
a metric manager to manage at least one set of metrics corresponding to the one or more target systems; one or more controllers to implement one or more control strategies to adaptively tune performance characteristics of the one or more target systems based upon the at least one set of metrics, wherein the one or more control strategies are independent of a particular architecture of any of the one or more target systems, and one or more adaptors to provide an abstract interface to the one or more target systems with respect to the one or more control strategies, wherein at least one of the one or more adaptors is specific to a corresponding one of the one or more target systems, wherein the one or more controllers invoke the one or more adaptors (i) to obtain metric values from the one or more target systems to compute tuning control values, and (ii) to tune the one or more target systems using the computed tuning control values, wherein said metric manager is configured to receive an input specifying at least a subset of metrics to be stored from among the at least-one set of metrics.
-
-
19. A computer-based tuning system for automatically tuning one or more target systems, comprising:
-
a metric manager to manage at least one set of metrics corresponding to the one or more target systems; one or more controllers to implement one or more control strategies to adaptively tune performance characteristics of the one or more target systems based upon the at least one set of metrics, wherein the one or more control strategies are independent of a particular architecture of any of the one or more target systems, and one or more adaptors to provide an abstract interface to the one or more target systems with respect to the one or more control strategies, wherein at least one of the one or more adaptors is specific to a corresponding one of the one or more target systems, wherein the one or more controllers invoke the one or more adaptors (i) to obtain metric values from the one or more target systems to compute tuning control values, and (ii) to tune the one or more target systems using the computed tuning control values; and at least one customizer to receive user inputs to customize at least one of said metric manager, said one or more controllers, and said one or more adaptors, wherein a user interacts with the at least one customizer using a graphical user interface. - View Dependent Claims (20, 21, 22, 23, 24)
-
Specification