Last update at http://inet.nttam.com : Mon May 1 23:07:15 1995

Object Evaluator Management Function

Object Evaluator Management Function

Dec. 15, 1994

Deokjai Choi: dchoi@cstp.umkc.edu

Taesang Choi: choits@cstp.umkc.edu

Adrian Tang: tang@cstp.umkc.edu


Abstract

In service management, there is a need to evaluate the quality of service of a service type object or the performance of a server object. This management function provides the capability for a manager to evaluate such managed objects. It introduces a managed object class called the objectEvaluator. An object evaluator encapsulates the evaluation function which is used to evaluate a given managed object on a periodic basis.

Our work here is motivated by our current works to define management ensembles for service management in an enterprise environment. In an enterprise environment, an enterprise manager needs tools to add intelligence to its agents. This Object Evaluator Management function can serve as one of those tools. It provides the capability for an enterprise manager to encapsulate an instruction set in an object evaluator. The agent can use the instruction set to perform a function evaluation on a periodic basis. Although health evaluation is the primary motivation of our paper, the evaluation function can be also used to execute a non-performance related task, as long as there is a need to execute the task in a periodic basis. This delegation of evaluation responsibility to an agent can substantially simplify the task of an enterprise manager.


Contents

1 Introduction

2 The ObjectEvaluator Managed Object Class

3 An application: Backup Management

4 Conclusion

References

Author Information


1 Introduction

In service management, there is a need to evaluate the quality of service of a service type object or the performance of a server object. This management function provides the capability for a manager to evaluate such managed objects. It introduces a managed object class called the objectEvaluator. An object evaluator (i.e., an instance of the objectEvaluator managed object class) encapsulates the evaluation function which is used to evaluate a given managed object in a periodic basis. After the managed object is evaluated at the end of each evaluation period, the result is stored in the object evaluator. By polling the result attribute of the object evaluator, the manager can find out the latest evaluation of the managed object.

A number of object evaluators can be associated with the same managed object. This is not surprising since a managed object can be evaluated in a number of ways. For example, the performance of an Ethernet network can be measured in terms of the performance of the MAC level, such as the number of Ethernet frames sent and the number of Ethernet frames dropped. It can be also measured in terms of the performance of the application servers (such as file servers or database servers) running in the network. In this simple example, we can thus associate at least two object evaluators with a managed object representing some Ethernet network. Each object evaluator encapsulates a particular evaluation function to evaluate the given managed object.

By storing the evaluation function and the evaluation period in an object evaluator, the manager essentially instructs its agent to apply the evaluation function at the end of each evaluation period. The following lists the advantages of having the evaluation performed by the agent instead of the manager:

- Since the agent has more up-to-date information of the managed object and its environment, its evaluation would be more accurate than one performed by the manager.
- If the manager has to perform the evaluation, it has to retrieve from the agent all the environmental information which is needed by the evaluation function; this will increase the network traffic load.
- If the manager (e.g., an enterprise manager) happens to manage quite a number of managed resources, it would be computationally intensive for the manager to carry out all the evaluations. It would be better for the manager to delegate the evaluation responsibility to its agent(s).

To give an example of how an evaluation function can be used, let us consider the performance of a router managed object. Imagine that the router object has a number of performance attributes including the number of packets processed and the number of packets dropped. A high-level manager, when polling for the performance of this router, may not care about specific values of these performance attributes; instead, it may be interested in only an aggregate health index which is evaluated by some evaluation function (e.g., one taking a weighted linear sum) on only those performance attributes which the manager is interested in. Used in this manner, an evaluation function can be viewed as an aggregation function deriving a composite value from simple values such as attribute values appearing in a managed object. Aggregation is not a new concept; the important point is that the aggregation is performed by the agent instead of the manager. Using an object evaluator, the manager instructs an agent how to perform the aggregation, turning a passive agent to be a smarter one. This technique of delegating responsibility to agents is extremely useful in an enterprise environment.

Section 2 describes the design of the objectEvaluator managed object class. Among the important attributes of the objectEvaluator are the evaluatedObjectId, the evaluationFunctionId, the environment, the evaluationResult, and the evaluationPeriod. The objectEvaluator managed object class also contains some optional scheduling capabilities which would allow a manager to schedule the running of an object evaluator.

In Section 2, we also examine two subclasses of the objectEvaluator managed object class. These subclasses contain a constraint which is applied to the evaluated result at the end of each evaluation period. For example, we would want to know if the throughput is greater than a minimum value, or the blocking rate (or error rate) is smaller than a maximum value. If the constraint is violated, we would expect the object evaluator to emit some constraintViolated notification. At the end of the section, we give a Health Monitoring Management model.

In Section 3, we show how to apply the Health Monitoring Management model to perform backup management in an enterprise environment.

2 The ObjectEvaluator Managed Object Class

In this section, we first examine the attributes of the objectEvaluator managed object class. Then we introduce two subclasses.

The evaluatedObject attribute is used to identify the managed object to be evaluated. The evaluationFunctionId attribute is used to reference an evaluation function. It would be useful to standardize a template with which one can describe the evaluation function. The template would permit an evaluator function definer to describe the evaluation algorithm or even reference an implementation script of the evaluation algorithm [10].

Whenever the evaluation function is applied to a managed object, it needs input information from the managed object and perhaps other managed objects. The template (mentioned in the last paragraph) should identify all the management information which is needed for the computation of the evaluation function. In particular, it should identify which managed objects are involved and which attributes of those managed objects are used for the computation. Since the evaluation function has no idea of the structure of the management information tree of the agent which carries out the evaluation and certainly not the number and names of the managed objects which are involved in the computation, it is important that the manager to store the relevant information of the management information tree in an object evaluator. The environment attribute of the objectEvaluator managed object class is used for that purpose. In ASN.1, this environment attribute is given by some sequence of CMIPFilter (which is defined in the CMIP standard). Each CMIPFilter defines a scope which identifies a set of managed objects in the management information tree. The sequence should match a similar sequence in the template definition which specifies the order in which the managed objects in each filter is used.

To llustrate the use of the environment attribute, let us consider the following example where we want to evaluate the performance of a e-mail domain which has MTAs and e-mail gateways in two locations, one in the east coast and one in the west coast. While the evaluation function would have its own way of assigning weights to the systems (i.e., MTAs and e-mail gateways) involved (e.g., it may assign more weight to a e-mail gateway than an MTA), it needs to know the names of the system managed objects in both coasts. The manager, at the time of creating the object evaluator, may not know the names of all the system managed objects because those objects could either grow or shrink after the object evaluator is created. Instead, the manager can specify those managed objects using CMIPfilters. For example, it can specify the MTAs in the east coast by using a filter which essentially says two things: (1) the managed objects are MTA objects, and (2) the managed objects are located in the east coast.

The evaluationResult attribute is used to store the latest result of the evaluation function. The syntax of the result attribute type is determined by the evaluation function, e.g., it can be INTEGER or REAL.

The evaluationPeriod attribute specifies the time interval at the end of which the evaluation function should be applied. By querying the evaluationResult attribute, the manager can find out the the latest evaluation result, i.e., one which is computed at the end of the latest evaluation period. To get a more recent evaluation, the manager can set the evaluationPeriod attribute value to a more granular value.

As we mentioned earlier, a managed object can be associated with a number of object evaluators, with each object evaluator evaluating the resource using a different evaluation function. The objectEvaluatorId attribute is used to discriminate an object evaluator from the other object evaluators which are associated with the same managed resource. Another attribute, the objectEvaluatorName attribute, is used to give a more descriptive name to an object evaluator.

As a managed object, an object evaluator has an administrative state as well as an operational state. The three possible values of the administrative state are "locked", "unlocked", and "shutting-down". For example, the manager can suspend an object evaluator by setting the administrative state to "locked", and later resume the object evaluator by setting the administrative state to "unlocked". The two possible values of the operational state are "enabled"" and "disabled". For example, if the administrative state is "locked", the operational state must be "disabled".

Like the scanner managed object class defined in the Summarization Management function [9], the objectEvaluator managed object class has conditional packages which permit scheduling of an object evaluator by a manager. These conditional packages are the availabilityStatus package, the duration package, the dailyScheduling package, the weeklyScheduling package, the externalScheduler package, and the periodSynchronization package.

Putting the above pieces together, we are ready to give the GDMO definition of the objectEvaluator managed object class:

objectEvaluator  MANAGED OBJECT CLASS
    DERIVED FROM top;
    CHARACTERIZED BY objectEvaluatorPackage
objectEvaluatorPackage  PACKAGE
    ATTRIBUTES
        objectEvaluatorId                       GET,
        objectEvaluatorName                     GET-REPLACE,
        evaluatedObjectId                       GET,
        evaluationFunctionId                    GET,
        environment                             GET-REPLACE,
        evaluationResult                        GET,
        evaluationPeriod                        GET-REPLACE,
        administrativeState                     GET-REPLACE,
        operationalState                        GET;
    CONDITIONAL PACKAGES
        availabilityStatusPackage PRESENT IF "the managed object can be 
           scheduled",
        duration  PRESENT IF "the scheduling function is to be enabled 
           between specified start and stop times",
        dailyScheduling  PRESENT IF "daily scheduling is required and the 
           weekly or external scheduling package is not present",
        weeklyScheduling  PRESENT IF "weekly scheduling is required and 
           the daily or external scheduling package is not present",
        externalScheduler  PRESENT IF "reference to external scheduler is 
           required and the daily or weekly scheduling package is not 
           present",
        periodSynchronizationPackage  PRESENT IF "configurable agent 
           internal synchronization of repeating time periods is required";
    NOTIFICATIONS
        objectCreation,
        objectDeletion,
        attributeValueChange,
        stateChange,
REGISTERED AS {objectEvaluator-managedObjectclass}

Quite often, the evaluation function is used to measure the performance or quality of service of a managed object. The result of each evaluation would give a performance or quality of service index. If the index violates some constraint (e.g., one which is specified in the service level agreement between a service provider and a service user), it would be desirable if the object evaluator can emit some constraintViolated notification. There are two constraints which are commonly used. One says that the performance index (e.g., the blocking rate) exceeds a threshold value, and the other says that the performance index (e.g., the throughput) falls beneath a threshold value. Accordingly, we can define two managed object subclasses of the objectEvaluator class, one for each of the above two constraints. They both have a threshold attribute which is used to specify an attribute value. The first subclass, greater-than-threshold-objectEvaluator managed object class, has the capability to emit a constraintViolated notification whenever the evaluated result exceeds the threshold value. The second subclass, the less-than-threshold-objectEvaluator managed object class, has the capability to emit a constraintViolated notification whenever the evaluated result falls beneath the threshold value.

We can apply the above ideas to give a health monitoring management model (Figure 1). We assume the setting of an enterprise environment where an enterprise manager wants to delegate the health computation responsibility to its agent(s). Accordingly, the enterprise manager would create at least one object evaluator for each managed object whose health is to be evaluated on a regular basis. The object evaluator, in this example, is chosen to be a less-than-threshold- objectEvaluator; hence if the health index of a managed object falls under some threshold health index, the object evaluator would emit a constraintViolated notification. An event forwarding discriminator can be used to store the disposition of the notification report, i.e., whether it should be logged or dispatched immediately to the manager.

Figure 1: Health Monitoring Management Model

3 An application: Backup Management

In this section, we illustrate how the Health Monitoring Management Model can be used in backup management. For our discussion, the less-than-threshold-objectEvaluator object in the Health Monitoring Management Model is called a health monitor.

The Relationship-Management function [3, 4] introduces two attributes for backup management. Given a managed object, the backup attribute identifies an object that acts in the backup role with respect to the managed object, while the backedUp attribute identifies an object that acts in the backed-up role with respect to the managed object. One of the problems in backup management is to determine the backedUp attribute value of a managed object. Ideally, we want the backup attribute value to identify a managed object (that acts in the backed-up role) with the best health. In the following, we use an example to illustrate how to select an object with the best health.

Figure 2: Enterprise Agent EA performing backup managment

Figure 2 shows an enterprise management environment where there is an enterprise manager EM, an enterprise agent EA, and three mid-level managers Mi's (i = 1, 2 or 3). Each Mi manages a resource Ri (e.g., a router or an ATM switch) via an agent Ai. We assume that all the resources are of the same resource type, so any one of them can serve as a backup if another fails.

In managing the resource Ri, the agent Ai uses a managed object MRi in its management information tree. The EA also maintains a management information tree containing the three managed objects MRi's. The difference between MRi' and MRi is that MRi' is the management representation of the resource Ri from the point of view of EM, while MRi is the management representation of the same resource Ri from the point of view of Mi. Note that the attributes in MRi' and MRi are not necessarily the same. For example, the backup attribute and the backedup attribute appear in MRi' although they may not appear in MRi. Furthermore, MRi may contain attributes which are of no interest to EM, so those attributes would not appear in MRi'.

Besides containing the MRi's, the management information tree of EA also contains three health monitor objects. We assume here that HEi is used to monitor the health of Ri and all the health monitors use the same health evaluation function.

Let us assume that the resource R1 is running at this moment. We want to determine the resource which can be a backup of R1 and which has the best health. To determine this, we assume that the EA periodically scans the health indices of the rest of the resources. The figure shows that both R2 and R3 are willing to be a backup of M1, as shown by the backedUp attribute. So, EA periodically scans the health indices of R2 and R3 which are contained in HE2 and HE3 respectively. The Summarization Management function [9] can be used here to scan the two health indices and compute the min-max of the two indices on a periodic basis. Let us assume that of the two, R3 has the better health at this moment. So the agent EA can set the backUp attribute value of MR1 to MR3. In addition, EA can set the backUp attribute values of MR2 and MR3 to MR3 as well. As far as the enterprise manager EM is concerned, the backUp attributes in all the three MRi's are read attributes. Thus by creating the health monitor objects, the enterprise manager EM can delegate the management responsibility of determining the most ideal backup resource to the enterprise agent EA.

4 Conclusion

This paper proposes the Object Evaluator Management function and introduces the notion of an object evaluator. Our work here is motivated by our current works to define management ensembles for service management in an enterprise environment. In an enterprise environment, an enterprise manager needs tools to add intelligence to its agents. This Object Evaluator Management function can serve as one of those tools. It provides the capability for an enterprise manager to encapsulate an instruction set in an object evaluator. The agent can use the instruction set to perform a function evaluation on a periodic basis. For example, the instruction set can be one used to compute the health of a managed object. Although health evaluation is the primary motivation of our paper, the evaluation function can be used to execute non- performance related task, as long as there is a need to execute the task in a periodic basis. This delegation of evaluation responsibility to an agent can substantially simplify the task of an enterprise manager.

The next step in our research effort is to apply this Object Evaluation Management function. Section 3 shows how we can use the function to select an ideal backup candidate for a managed resource. Elsewhere in [12], we show how to apply the Health Monitoring Management Model in a LAN status ensemble.


References

[1] ISO/IEC 10165 Information technology - Open Systems Interconnection - Systems Management -- Part 4: Guidelines for the Definition of Managed Objects [2] ISO/IEC 10164 Information technology - Open Systems Interconnection - Systems Management -- Part 1: Object Management Function, ISO/IEC JTC1/SC21 [3] ISO/IEC 10164 Information technology - Open Systems Interconnection - Systems Management -- Part 2: State Management Function, ISO/IEC JTC1/SC21 [4] ISO/IEC 10164 Information technology - Open Systems Interconnection - Systems Management -- Part 4: Attributes for Representing Relationships, ISO/IEC JTC1/SC21 [5] ISO/IEC 10164 Information technology - Open Systems Interconnection - Systems Management -- Part 4: Alarm Reporting Function, ISO/IEC JTC1/SC21 [6] ISO/IEC 10164 Information technology - Open Systems Interconnection - Systems Management -- Part 5: Event Report Management Function, ISO/IEC JTC1/SC21 [7] ISO/IEC 10164 Information technology - Open Systems Interconnection - Systems Management -- Part 6: Log Control Function, ISO/IEC JTC1/SC21 [8] ISO/IEC 10164 Information technology - Open Systems Interconnection - Systems Management -- Part 11: Metric Objects and Attributes , ISO/IEC JTC1/SC21, Jul. 1993 [9] ISO/IEC 10164 Information technology - Open Systems Interconnection - Systems Management -- Part 13: Summarization Function, ISO/IEC JTC1/SC21, Feb. 1993 [10] German Goldszmidt and Yechiam Yemini, "Evaluating Management Decisions via Delegation", Integrated Network Management III, Elsevier Science Publishers, 1993 [11] D.J. Choi, L. Zhang, T. S. Choi, A. Tang, A Framework for Enterprise Network Management, OSE Laboratory, University of Missouri-Kansas City, 1994 [12] T. S. Choi, A. Tang, Enterprise Network Management: LAN Status Monitoring, OSE Laboratory, University of Missouri-Kansas City, 1994


Author Information

Deokjai Choi Deokjai Choi was born in Kwangju, Korea in 1959. He received the B.S. degree in computer engineering at Seoul National University in 1982, Seoul Korea, the M.S. degree at the KAIST(Korea Advanced Institute of Science and Technology) in 1984, and currently working for his Ph.D in University of Missouri-Kansas City, USA. His current research interest is mobility management for mobile communication.

Taesang Choi Taesang Choi was born in Taegu, Korea in 1962. He received the B.S. degree in architectural engineering at Keimyung University in 1988, Taegu Korea, the M.S. degree at University of Missouri-Kansas City in 1991, and currently working for his Ph.D at the same university. His current research interest is service management.

Adrian Tang Adrian Tang has been a professor in the computer science and telecommunications program at the University of Missouri-Kansas City since 1984. He has actively participated in several standard activities such as OIW (Open systems envrionment Implementors Workshop) and NMF (Network Management Forum). His current research interests are enterprise network management, enterprise email network management, and service mobility management.


Return to the Table of Contents