262
OSS Quality of Service API Version 0.6.1, 23.04.2001

OSS Quality of Service API

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: OSS Quality of Service API

OSS Quality of Service API

Version 0.6.1, 23.04.2001

Page 2: OSS Quality of Service API

Java is a registered trademark of Sun Microsystems, Inc. in the US and other countries.

Page 3: OSS Quality of Service API
Page 4: OSS Quality of Service API
Page 5: OSS Quality of Service API

okia way terms.

Copyright

Copyright © 2001 Cisco Systems, Inc., Ericsson Radio Systems AB., Motorola, Inc., NEC Corporation, NNetworks Oy, Nortel Networks Limited, Sun Microsystems, Inc., Telcordia Technologies, Inc., Digital FairCorporation, Orchestream Holdings plc, BEA Systems, Inc. All rights reserved. Use is subject to license

i

Page 6: OSS Quality of Service API

Copyright

ii

Page 7: OSS Quality of Service API

Dedication

Specification Lead:

Stefan Aberg (Ericsson, http://www.ericsson.com/)

Members of the expert group:

• Alan Greasley (ADC Metrica, http://www.adc.com/) • Arno Schmidmeier (Sirius Software GmbH, http://www.sirius-eos.com/) • Audrey Ward (Motorola, http://www.motorola.com/) • Eric Dillon (Watchmark, http://www.watchmark.com/) • Hiroya Kawata (NEC, http://www.nec.com/) • Jean-Luc Richard (Evidian, http://www.evidian.com/) • Jonas Rabin (LucentTechnologies, http://www.lucent.com/) • Joseph(Joe)M. Randolph (LucentTechnologies, http://www.lucent.com/) • Juha Laine (Nokia, http://www.nokia.com/) • Melody Fallah-Khair (Digital Fairway Corporation, http://www.digitalfairway.com/) • Petre Dini (Cisco, http://www.cisco.com/) • Rick Porter (Telcordia, http://www.telcordia.com/) • Rudolf Netzsch (Siemens AG, http://www.siemens.com/) • Tan Pek Yew (Panasonic Singapore Laboratories Pte Ltd, http://www.panasonic.com.sg/) • Vincent Perrot (SUN, http://www.sun.com/) • Wahei Usui (NEC, http://www.nec.com/) • Yasufumi Oshima (NEC, http://www.nec.com/)

Non-members of the expert group:

• Andre Godin (Ericsson, http://www.ericsson.com/) • Bruce Siegell (Telcordia, http://www.telcordia.com/) • Richard Lau (Telcordia, http://www.telcordia.com/) • Nicolas Gosselin (Ericsson, http://www.ericsson.com/) • Edwin Tse (Ericsson, http://www.ericsson.com/)

iii

Page 8: OSS Quality of Service API

Dedication

iv

Page 9: OSS Quality of Service API

ContentsCopyright ................................................................................................................ iDedication ............................................................................................................. iiiIntroduction ........................................................................................................... 7Overview ................................................................................................................ 9Architecture ......................................................................................................... 13Requirements ....................................................................................................... 17Compliancy .......................................................................................................... 25Interoperability .................................................................................................... 27UseCases ............................................................................................................... 29javax.oss.pm.measurement ................................................................................. 33

BaseEvent ............................................................................................................................................................ 44BaseEventDescriptor ........................................................................................................................................... 46PerformanceDataAvailableEvent ......................................................................................................................... 49PerformanceDataAvailableEventDescriptor ........................................................................................................ 50PerformanceDataEvent ........................................................................................................................................ 51PerformanceDataEventDescriptor ....................................................................................................................... 52PerformanceMonitor ............................................................................................................................................ 53PerformanceMonitorByClassesValue .................................................................................................................. 55PerformanceMonitorByObjectsValue ................................................................................................................. 57PerformanceMonitorHome .................................................................................................................................. 59PerformanceMonitorKey ..................................................................................................................................... 61PerformanceMonitorKeyResult ........................................................................................................................... 62PerformanceMonitorMethods .............................................................................................................................. 63PerformanceMonitorState .................................................................................................................................... 78PerformanceMonitorValue .................................................................................................................................. 79PerformanceMonitorValueIterator ....................................................................................................................... 88PerformanceAttributeDescriptor .......................................................................................................................... 90ReportFormat ....................................................................................................................................................... 93ReportInfo ............................................................................................................................................................ 96ReportInfoIterator ................................................................................................................................................ 97ReportMode ......................................................................................................................................................... 99QueryPerformanceMonitorValue ...................................................................................................................... 100QueryByDNValue ............................................................................................................................................. 103

javax.oss.pm.threshold ...................................................................................... 105AlarmConfig ...................................................................................................................................................... 115ComplexThresholdMonitorValue ...................................................................................................................... 118QueryBySimpleThresAttributesValue ............................................................................................................... 122QueryMonitorValue ........................................................................................................................................... 124SimpleThresholdMonitorValue ......................................................................................................................... 127ThresholdDefinition ........................................................................................................................................... 130ThresholdDirection ............................................................................................................................................ 133ThresholdMonitor .............................................................................................................................................. 134ThresholdMonitorHome .................................................................................................................................... 135ThresholdMonitorKey ....................................................................................................................................... 136ThresholdMonitorKeyResult ............................................................................................................................. 137ThresholdMonitorMethods ................................................................................................................................ 139

v

Page 10: OSS Quality of Service API

Contents

ThresholdMonitorState ...................................................................................................................................... 151ThresholdMonitorValue ..................................................................................................................................... 152ThresholdMonitorValueIterator ......................................................................................................................... 156TriggerRule ........................................................................................................................................................ 158

javax.oss.pm.util ................................................................................................ 161HourSchedule ..................................................................................................................................................... 161DayOfWeekSchedule ......................................................................................................................................... 163IllegalStateException ......................................................................................................................................... 167ObservableObjectIterator ................................................................................................................................... 167ObservableObjectClassIterator .......................................................................................................................... 169Schedule ............................................................................................................................................................. 171

javax.oss.fm.monitor ......................................................................................... 175AlarmAckState ................................................................................................................................................... 179AlarmByFilterableAttributesQueryDesciptor .................................................................................................... 180AlarmCountsValue ............................................................................................................................................ 181AlarmEvent ........................................................................................................................................................ 183AlarmEventPropertyDescriptor ......................................................................................................................... 184AlarmListRebuiltEvent ...................................................................................................................................... 186AlarmListRebuiltEventPropertyDescriptor ....................................................................................................... 187AlarmMonitor .................................................................................................................................................... 188AlarmMonitorHome .......................................................................................................................................... 189AlarmMonitorMethods ...................................................................................................................................... 190AlarmOperationResult ....................................................................................................................................... 194AlarmValue ........................................................................................................................................................ 195AlarmValueIterator ............................................................................................................................................ 200AlarmType ......................................................................................................................................................... 202AttributeValue ................................................................................................................................................... 204AttributeValueChange ....................................................................................................................................... 205BackedUpStatusType ......................................................................................................................................... 206CorrelatedNotificationValue .............................................................................................................................. 207ExtendedAlarmType .......................................................................................................................................... 208FilterableAttributesValue ................................................................................................................................... 209PerceivedSeverity .............................................................................................................................................. 212ProbableCause ................................................................................................................................................... 213ThresholdIndicationType ................................................................................................................................... 231TrendIndicationType ......................................................................................................................................... 232

javax.oss ............................................................................................................. 235Event .................................................................................................................................................................. 235EventPropertyDescriptor ................................................................................................................................... 237IllegalArgumentException ................................................................................................................................. 239ManagedEntityKey ............................................................................................................................................ 240ManagedEntityValue ......................................................................................................................................... 241QueryValue ........................................................................................................................................................ 244QueryDescriptor ................................................................................................................................................. 244UnsupportedOperationException ....................................................................................................................... 244Version ............................................................................................................................................................... 245

Concepts ............................................................................................................. 247Glossary .............................................................................................................. 249Index ................................................................................................................... 251

vi

Page 11: OSS Quality of Service API

ter is

e API.

I in typ-

by using

clients om the e bility vely.

must”,

of Ser-

C H A P T E R 1Introduction

This document specifies the OSS/J Quality of Service API.

It is assumed that the reader of this document has a working knowledge of OSS, J2EE and basic knowledge about Quality of Service (QoS). If you are new to Operation Support Systems or to the OSS/J initiative, please consult http://java.sun.com/products/oss first. If you are new to J2EE, please consult http://java.sun.com/j2ee

This specification is intended for software programmers or architects who:

• Want to write clients that call the Quality of Service API, or that • Want to implement the Quality of Service API.

Structure of the Specification

This specification consists of the following parts:

• Quality of Service API Overview describes the fundamentals to Quality of Service API. This chapnon-normative.

• Quality of Service API Architecture describes the design and architectural goals and principles of thThis chapter is non-normative.

• The user guide of the specification. They introduce the main features and explain how to use the APical situations.

• The reference guide of the specification. These chapters are generated from the java source codethe javadoc tool.

All chapters (except the overview and architecture) define the API in a precise way. It is described what of the API can expect from an implementation and it is described what the implementation can expect frclient. If either the client or the implementation violates any statement in this document, the client and thimplementation most likely cannot be plugged together. In addition to this specification, the test compatikit (TCK) or the reference implementation (RI) can be used to test the implementation or client, respecti

To improve the precision of the specification, certain words have clearly defined semantics: The words ““must not”, “required”, “recommended”, “may”, and “optional” in this document are to be interpreted as described in RFC-2119. The word “mandatory” is synonym with “required”.

Examples Programs

All generic examples are required to compile and execute with all implementations of the OSS/J Qualityvice API. As a result, they are part of the specification.

7

Page 12: OSS Quality of Service API

Introduction

/2000-

#150;

uld be:

errors. ges. For

he ree-

men-

SR 89

To keep the examples short and understandable, the examples do not include exception handling. The source code of all examples will be available with the final release of this specification.

Additional Documents

The following documents and software packages are available or will be available in the future:

• General OSS/J documents and presentations from http://java.sun.com/products/oss. • OSS/J Design Guidelines: general guidelines and patterns that apply to all OSS/J APIs. (planed for summer

2001) • OSS/J Quality of Service API Reference Implementation (available for final release) • OSS/J Quality of Service API Test Compatibility Kit (available for final release) • OSS/J Quality of Service API Example Programs (planed for summer 2001) • 3GPP TS 32.104: “3G Performance Management (PM)”, Release 99 (http://www.3gpp.org/ftp/Specs

12/R1999/32_series/32104-340.zip) • 3GPP TS 32.111: “3G Fault Management (FM)”, Release 99 • ITU-T X.733 Recommendation, Information Technology – Open Systems Interconnection &

Systems Management &#150; Alarm Reporting Function • ITU-T Q.822 Recommendation, Performance Management • <Add other references here>

Public Draft Comments

This is the public draft version of the specification. Please send comments to [email protected]

Because this is not the final release of the specification, some areas are not as well defined as they sho

• All example code has not been compiled. As a result, the examples may contain syntax and logical • The Java Value Type access-interface has been specified completely, but may require minor chan

instance, attributes or methods may have to be modified.

Licensing Agreement

The Reference Implementation will be licensed in source code for free.

The details of the Licensing Agreement will be determined by the Spec Lead before the Final Release. TTechnology Compatibility Kit will be licensed for free in binary code, possibly in source code. The two agments will be designed to maximize the adoption of the API, while ensuring compatibility between impletations.

An effort will also be made to harmonise as much as possible the RI and TCK licensing model with the Jand 91, as they will be used in similar market.

8

Page 13: OSS Quality of Service API

rvice com-

deter-

network, ces, and nother. ot. The wo ery with

areas:

area

service.

tainedsed the

C H A P T E R 2Overview

Description

In Operation Support Systems (OSS), the area of Quality of Service (QoS) is vast and complete standards or even de-facto standards in this area are lacking. Several products in the Quality of Service domain manage spe-cific parts of Quality of Service. In order to have a complete end-to-end solution, these products need to be inte-grated. However, these custom integrated solutions are tremendously complex and difficult to achieve, due to the lack of integration standards. Therefore, the ability to reduce the integration effort via a set of standards, reusable software components to assemble OSS applications in a much shorter time is an appealing prospect for all players in the OSS marketplace.

The OSS Quality of Service API specification will define an API that enables the construction of total OSS solutions for QoS by assembling commercial off-the-shelf components.

Quality of Service

Quality of Service is one of the elusive terms in today’s networking. ITU-T E.800 defines the quality of seand factors that contribute collectively to the over-all quality of service as perceived by the user of a telemunication service.

In general terms, Quality of Service can be defined as the collective effect of service performance whichmine the degree of satisfaction of the user of a service.

In order to measure the Quality of Service, we have to first define the term service and its performance.

Service can have several meanings. It is usually described as something offered to the end users of any such as end-to-end communications. We categorize services under two types: network end-to-end servibearer services. The network end-to-end services are services drawn from one Terminal Equipment to aThe end user decides on the quality of such services; whether he is satisfied with the provided QoS or nbearer services are telecommunications services that provide signal transmission capabilities between taccess points in the network. They are not end-to-end services, but enable the end-to-end service delivthe required QoS to the end user.

The user’s degree of satisfaction with the quality of service can be divided into four service performance

• support; • operability; • serveability; • security.

All of the areas are dependent on network characteristics and operation. However, the serveability is thethat is generally most affected. It is further subdivided into three areas:

• service accessibility performance: perceived or granted quality at the time the user is accessing theFor instance, how fast user connects to the network.

• service retain-ability performance: perceived or granted quality on how well a service is mainthroughout the usage period without any abnormal interruption. For instance, how long user has u

9

Page 14: OSS Quality of Service API

Overview

om anservice

y Guar-ork is the n. If

ce Guar-. The ers and

der’s

t Man-ystems

ision-

anage-and ser-

t be ation.

ch as k Man-fic sys-

ta from

service without any service interruption or operational outages. • service integrity performance: perceived or granted quality on how well-maintained a service is fr

end to end point of view throughout the usage period. For instance, if user is receiving the quality of he expected to receive from the network.

Service Quality Guarantees/Service Level Agreements

Traditionally, network service providers have used a variety of methods to accommodate Service Qualitantees to their subscribers. Most of these Guarantees are contractual. For instance, accessing the netwmost basic service, and failure to provide this service is a failure to comply with the contractual obligatiothe network is inaccessible, the quality of the service is clearly questionable.

Service providers require management systems that can retrieve, calculate and present Quality of Serviantees such that both the provider and the customer ensure the service quality is provided as requestedmanagement system is to monitor the Service Level Agreements (SLA), as defined between the customthe provider, and react on service quality violations.

In order for quality of service systems to perform their function effectively as an integral part of the provitotal solution, they have to be able to:

• Obtain service effecting data/information from other systems, e.g. Network Elements (NE), Elemenagement Systems (EMS), Network Management Systems (NMS), and other Operational Support S(OSS).

• Inform other systems when quality of service violations occur. For instance, informing a service proving /activation system or customer care system about the service level agreement violations.

Today there are no standards or de-facto standards to facilitate the integration of a Quality of Service mment system with other management systems, such as element management systems, billing systems vice activation systems as part of a total management solution.

To make it easier to integrate quality of service systems into total solutions, a number of interfaces musagreed upon. These interfaces are or will be defined as part of the OSSJ Quality of Service API specific

Scope

The scope of this specification is to enable Quality of Service systems to obtain service-effecting data sunetwork performance, threshold, usage and fault data from other systems. Although, Element or Networagement Systems are the typical provider of such information, the OSS/J API is not limited to any specitem definition to configure and obtain service-effecting information.

The OSSJ QoS API packages are defined under javax.oss package, which is shared by other OSSJ API, e.g. OSSJ Trouble Ticketing API. This specification does not define javax.oss. For more information on javax.oss, please refere to <common team document>.

At a high level, the OSSJ Quality of Service API covers the following areas:

Performance or Usage Data Monitoring

OSS/J API enables the client application, e.g. QoS system, to obtain network or service performance daother management systems, and to configure and control performance monitoring on those systems.

10

Page 15: OSS Quality of Service API

Overview

collec-r service

e per-

stems. g sys-eporting

moni-

tems, to inter-

hresh-

lds cananaged

ed by

ms for

stems, ilure sit-

r, to

d/or ze the

The following items describe actions that the client can initiate to control performance monitoring:

• The client may control the performance monitoring, i.e. create, suspend, resume, list and delete thetion of measurement attribute values for managed objects (Observable Objects), such as network oobjects.

The following items describe the means of data transfer from external systems to the client:

• The client receives notification containing performance data. • The client receives notification with reference to location of performance data. This is applicable if th

formance data is saved in a file. • The client retrieves performance data from the external system.

Performance Monitoring is contained in the following package(s):

• javax.oss.pm contains interfaces and classes for accessing performance and threshold monitoring sy• javax.oss.pm.measurement contains main interfaces and classes for accessing performance monitorin

tems for tasks such as creating, deleting , resuming, suspending performance monitoring jobs, and rthe performance data results.

• javax.oss.pm.util contains supporting interfaces and classes for accessing performance and thresholdtoring systems.

Threshold Data Monitoring

The OSSJ Quality of Service API enables client applications, such as an operational or management sysconfigure thresholds on the service-effecting measurements, and to report the threshold violations to theested parties by alarm mechanisms.

The following item(s) describes the action that the client application can initiate to control and configure told monitoring:

• The client may create, delete, list thresholds that will result in quality of service alarms. The threshobe defined on service effecting measurements per classes or instances of network or service mobjects.

The following item describes how the client receives notification from external systems.

• The client will be informed about the threshold violations via the notification/alarm mechanism definFault Monitoring API.

Threshold Monitoring is contained in the following package(s):

• javax.oss.pm.threshold contains main interfaces and classes for accessing threshold monitoring systetasks such as creating, deleting, listing, and reporting thresholds and threshold violations.

Fault Data Monitoring

The OSSJ Quality of Service API enables client applications, such as an operational or management sywith the means to be informed by other systems when a network or service failure occurs or when the fauation is resolved. The failures at the network or service level are manifested in form of notifications andalarms. The API also allows the client to obtain information about failures in a request-response manneacknowledge the fault condition. The following example describes a network failure scenario:

The occurrence of failures in a Network Element (NE) may cause a deterioration of this NE’s function anservice quality and will, in severe cases, lead to the complete unavailability of the NE. In order to minimieffects of such failures on the Quality of Service, as perceived by the network users, it is necessary to:

11

Page 16: OSS Quality of Service API

Overview

sible; faultyy NE;

parts of

r tasks

• detect failures in the network as soon as they occur and alert the operating personnel as fast as pos• isolate the failures (autonomously or through operator intervention), for example by switching off

units and, if applicable, limiting the effect of the failure as much as possible by reconfiguring the fault• if necessary, determine the cause of the failure using diagnostic and test routines; and, • repair/eliminate failures in due time through the application of maintenance procedures.

The API defines a generic interface for alarm monitoring and management that can be used by different OSSJ Quality of Service API, such as Performance or Threshold Monitoring.

Fault monitoring is contained in the following package(s):

• javax.oss.fm contains interfaces and classes for accessing fault monitoring systems. • javax.oss.fm.monitor contains main interfaces and classes for accessing alarm monitoring systems fo

such as retrieving alarm data, acknowledging and un-acknowledging alarms.

12

Page 17: OSS Quality of Service API

ding

C H A P T E R 3Architecture

The OSSJ Quality of Service API has been defined within following design and architectural goals and princi-ples:

Consistency across all OSSJ APIs

The Quality of Service API follows the set of common design guidelines set for all OSSJ APIs. For further information in this regard, please consult <add references to common team documents here>.

Seamless integration - Plug and Work

There are many operational and management systems that collectively provide and end-to-end solution for the network and service providers in the service assurance domain. The Quality of Service API has to ultimately support seamless integration among different operational and management system at run time.

Support of leading industry standards

The QoS API uses the industry standards and recommendations, such as 3GPP, ITU.T, TMF, IETF, when and where they are applicable. In cases where there are no de-facto standards defined, the QoS API may bridge the gap by introducing new definitions. Any new work has been/will be communicated to the appropriate standards body for further development.

Support of OSS/J Java Value Type Access-Interface

The OSS/J common design guideline defines three access interfaces:

• Java Value Type Access Interface • XML Value Type Access Interface • XML-JMS Access Interface

All access interfaces provide the same functionality, but use different technology. For more details, incluguidelines on when to use which access interface, please consult “OSS/J Design Guidelines”. Quality of Ser-vice API uses the Java value Type Access Interface at the moment.

13

Page 18: OSS Quality of Service API

Architecture

The QoS API can be extended in the future to support XML Value Type and XML-JMS interfaces when and where it is applicable.

Information Model independent

The Quality of Service API is information model agnostic, and can thus be used for all kinds of information model including 2G, 3G mobile and IP networks. The API does not define any information model pertaining to service or network technology. It is assumed that the definition of telecommunications information models is done by standard organization such as 3GPP, ITU-T, or by each organization internally, e.g. proprietary infor-mation model. The API will expose part of the information model that pertains to Performance, Fault and/or Threshold monitoring.

Full integration of J2EE

The QoS API is based on J2EE technology and its design patterns. It uses J2EE services such as JNDI, JMS, EJB where and when it is applicable.

The following picture illustrates a logical view of the OSSJ QoS API Architecture.

The architecture consists of many business-aware components that collectively have to provide an end-to-end solution for managing the quality of the services provided to the end customers. These business aware compo-nents are to be integrated with each other using the OSSJ Quality of Service API. Each of these business aware components can be implemented as part of existing or future applications or management systems. The API uses a set of services provided by or on top of J2EE technology. Examples of J2EE services are: Enterprise Java Beans, Java Messaging Service, Java Naming Directory. Examples of additional generic OSSJ services are fed-

14

Page 19: OSS Quality of Service API

Architecture

erated naming, API versioning, and messaging utilities. For more information on the OSSJ common services, please consult <add reference common team design guideline>

The business aware components expose a Java Value Type interface. By using this interface, clients perform standard RMI calls on a remote, stateless or stateful session bean interface. Examples of these interfaces are PerformanceMonitor, FaultMonitor, ThresholdMonitor representing performance, fault and threshold monitor-ing systems respectively.

The following picture demonstrates the typical data interaction diagram among different system components. The thick arrows in the diagram indicate the scope of the OSSJ QoS API as defined by this specification.

<The following definitions have to be conformant with standards recommendations and other OSSJ API specifications>

Fault Monitoring: a set of functions and capabilities to maintain, manage, and report fault data to other man-agement systems. It enables a management application such as Service Quality Manager to receive, correlate, and manage faults produced by/for different managed objects including telecommunication equipment.

Performance Monitoring: a set of functions and capabilities to acquire, monitor and report performance data for a set of managed objects including telecommunication equipment. It also provides capabilities to set thresh-olds on performance measurements and to monitor and to report threshold crossings.

Usage Data Monitoring: a set of functions and capabilities that enable a management application such as Ser-vice Quality Manager to acquire user&#146;s usage data for a set of services including telecommunication ser-vices.

Service Quality Manager: a set of management functions responsible for monitoring and reporting aggregated service quality and performance data combined and obtained from many disparate raw data sources.

SLA Manager: a set of management functions responsible for correlating of the service quality and perfor-mance data against specific Customer service instances to provide specific performance data against individual service instances and SLAs.

15

Page 20: OSS Quality of Service API

Architecture

Network Inventory: maintains the configuration of the network objects and their association to each service instance.

Service Inventory: maintains the configuration and definition of the service and service instances.

Order Manager: a set of management functions that coordinates the execution of a business process to fulfill a service order. The activities within the business process may need to interact with other subsystems to fulfill the order. These subsystems include SLA Manager application that has to be informed about the required quality of service guarantees/SLAs defined for a Customer service order.

Trouble Ticket Manager: <get the definition from the TT spec>

Customer Care System: a set of management functions responsible for reporting the performance and quality of customers’ services, and notifying them when a degradation or violation occurs in their SLA.

16

Page 21: OSS Quality of Service API

C H A P T E R 4Requirements

The following table contains the requirements for the Quality of Service APIs. Each requirement is associated with a unique identifier. The identifier consists of three parts: a &#147;QoS&#148; prefix, one or two letters representing a category, and number. Note: The number in parenthesis represents the numbering scheme in the original requirements document. The categories are as follows: G - General, PM - Performance Monitoring, TM Threshold monitoring, AM - Alarm Monitoring, and UD - Usage Data.

Identifier: QoS-G-1 (2.1.1)

The QoS API shall support a discover mechanism to find the supported Observable Object types.

Note: Only applicable to PM and TM sections of the API.

Mandatory

Identifier: QoS-G-2 (2.1.3)

The QoS API shall support a query mechanism to find the Observable Object instances of an Observable Object type.

Mandatory

Identifier: QoS-G-3 (2.1.3)

The QoS API shall support a discover mechanism to find the Observable Object instances below a root repre-sented by a distinguished name.

Mandatory

Identifier: QoS-G-4 (2.1.4)

The QoS API shall provide a mechanism to discover the performance attributes associated with an Observable Object class.

Mandatory

Identifier: QoS-G-5

The QoS API shall follow 3GPP standards for Performance Management and Fault Management

Mandatory

Identifier: QoS-G-6 (2.1.16)

The QoS API shall handle granularities that are synchronized on the full hour and that are a multiple or a factor of 3600.

Note: Only applicable to PM and TM sections of the API.

Mandatory

17

Page 22: OSS Quality of Service API

Requirements

Identifier: QoS-G-7

The attribute name shall be uniquely identified per observable object class.

Mandatory

Identifier: QoS-PM-1 (2.2.1)

The QoS API shall support the creation of a measurement job. On creation of a measurement job, all informa-tion shall be supplied in order to collect the required data from the selected resources as specified by the mea-surement job.

Mandatory

Identifier: QoS-PM-2 (2.2.2)

The QoS API shall support the deletion of a measurement job at any time. The deletion of the measurement job will make all references to it invalid.

Mandatory

Identifier: QoS-PM-4 (2.2.5)

The QoS API shall provide operations to get a list of all measurement jobs that are currently defined.

Mandatory

Identifier: QoS-PM-5 (2.2.6)

The QoS API shall support the ability to temporarily suspend the collection of measurement data (e.g. in case of system overload or congestion, measurement results not used,&#133;). Measurement job definitions will remain in the system stopping all measurement gathering activities after a job is suspended.

Optional

Identifier: QoS-PM-7 (2.2.7a)

The QoS API&#146;s measurement job shall support the following states: active-onduty, active-offduty, and suspended.

Mandatory

Identifier: QoS-PM-8 (2.2.8)

The QoS API shall support the ability to resume a measurement job that was previously suspended.

Optional

Identifier: QoS-PM-10 (2.2.10)

The QoS API shall provide for the monitoring of performance parameters in observable objects managed by element management systems.

Mandatory

Identifier: QoS-PM-11 (2.2.11)

The QoS API shall support a measurement job that includes a granularity specifying the rate at which perfor-mance data is read (scanned). The client is not required to enter this parameter. If no granularity is entered, the server will decide at what granularity to monitor the performance data.

Mandatory

Identifier: QoS-PM-11a

The QoS API shall provide a mechanism to retrieve the granularities supported by the server based on the per-formance data to be monitored.

18

Page 23: OSS Quality of Service API

Requirements

Mandatory

Identifier: QoS-PM-12 (2.2.13)

The QoS API shall support a measurement job that includes a reporting period specifying when the perfor-mance report file is created, if the reporting mode is file.

Mandatory

Identifier: QoS-PM-13 (2.2.14)

The QoS API shall support a measurement job that includes a schedule specifying the schedule of the monitor-ing activity.

Mandatory

Identifier: QoS-PM-14 (2.2.15)

The QoS API shall support a schedule that consists of start date, end date, list of daily intervals and a weekly schedule. All these parameters are optional. If start date is omitted the monitoring starts immediately. If end date is omitted the monitoring will run until suspended. If the daily interval is omitted, the monitoring job will run continuously through the day. If the weekly schedule is omitted, the monitoring job will run every day of the week. Alternatively, the weekly schedule will indicate which days of the week the monitoring job will run.

Mandatory

Identifier: QoS-PM-15 (2.2.16)

The QoS API shall support a measurement job that includes a reporting mode indicating the manner in which clients are notified of the generation of a performance data report.

Mandatory

Identifier: QoS-PM-15a

The QoS API shall support a reporting mode that specifies that the performance report data shall be included in an event.

Optional

Identifier: QoS-PM-15b

The QoS API shall support a reporting mode that specifies that the event will contain the performance report location (URI).

Mandatory

Identifier: QoS-PM-15c

The QoS API shall support a reporting mode that allows the client to request to receive both types of events concerning the generation of performance report data (see requirements QoS-PM-15a and QoS-PM-15b).

Optional

Identifier: QoS-PM-16a(2.2.17)

The QoS API shall support a measurement job that includes a list of measurable attributes to monitor accompa-nied by a list of ObservableObject instances.

Mandatory

Identifier: QoS-PM-16b (2.2.17)

The QoS API shall support a measurement job that includes a list of measurable attributes to monitor accompa-nied by a list of ObservableObject classes.

19

Page 24: OSS Quality of Service API

Requirements

Note: There is a proposal to remove this requirement from the API.

Optional

Identifier: QoS-PM-17 (2.2.18)

The QoS API shall support Value Objects representing measurement jobs.

Mandatory

Identifier: QoS-PM-20 (2.2.21)

The QoS API shall support a notification that contains the identity/location of the report data file that will be issued when the report data file is created.

Mandatory

Identifier: QoS-PM-22 (2.2.23)

The QoS API shall provide a query mechanism to retrieve a specific measurement job.

Mandatory

Identifier: QoS-PM-23 (2.2.24)

The QoS API shall provide a limited query mechanism to list all measurement jobs based on a state.

Mandatory

Identifier: QoS-PM-24 (2.2.25)

The QoS API may support bulk operations to suspend/resume multiple measurement based on job ids.

Optional

Identifier: QoS-PM-25 (2.1.7a)

The QoS API may support the 3GPP XML format for performance report files.

Optional

Identifier: QoS-PM-26 (2.1.8)

The QoS API shall provide the ability to determine the current report format of the server..

Mandatory

Identifier: QoS-PM-27 (2.1.9)

The QoS API shall enable a mechanism that allows clients to register to receive notifications pertaining to per-formance monitoring jobs. This requirement is only feasible if the server supports the generation of perfor-mance reports by performance monitoring job (a report format that only includes attributes specified in by the performance job).

Optional

Identifier: QoS-PM-28 (2.1.15)

The QoS API shall provide a mechanism to retrieve the report identifications of all stored reports.

Mandatory

Identifier: QoS-PM-30

The QoS API shall support a mechanism for the clients to retrieve all the reports generated from a given point in time.

Mandatory

20

Page 25: OSS Quality of Service API

Requirements

Identifier: QoS-PM-31

The reports returned from report data queries shall be sorted from oldest to newest.

Mandatory

Identifier: QoS-TM-1 (2.3.1)

The QoS API shall provide a query mechanism to retrieve a specific threshold job.

Mandatory

Identifier: QoS-TM-2 (2.3.2)

The QoS API shall provide a limited query mechanism to list all threshold jobs based on a state (active &#150; suspended).

Mandatory

Identifier: QoS-TM-3 (2.3.3)

The QoS API may support bulk operations to suspend/resume multiple threshold jobs based on job ids.

Optional

Identifier: QoS-TM-4 (2.3.4)

The QoS API shall provide threshold monitoring of performance attributes in entities managed by element man-agement systems.

Mandatory

Identifier: QoS-TM-5 (2.3.5)

The QoS API shall provide a mechanism for the generation of notifications containing threshold event informa-tion when a threshold associated with an active threshold job has been triggered.

Mandatory

Identifier: QoS-TM-7 (2.3.7)

The QoS API shall provide a mechanism to list all threshold jobs.

Mandatory

Identifier: QoS-TM-8 (2.3.8)

The QoS API shall provide the ability to create a threshold job.

Mandatory

Identifier: QoS-TM-9 (2.3.9)

The QoS API shall support a threshold job that includes a granularity specifying the rate at which performance data is read (scanned). The client is not required this parameter. If no granularity is entered, the server will decide what granularity is used to monitor the threshold.

Optional

Identifier: QoS-TM-9b

The QoS API shall provide a mechanism to retrieve the granularities supported by the server based on the threshold data to be monitored.

Mandatory

Identifier: QoS-TM-10 (2.3.10)

The QoS API shall support a threshold job that allows the client to configure the severity of the threshold alarm.

21

Page 26: OSS Quality of Service API

Requirements

Mandatory

Identifier: QoS-TM-11 (2.3.11)

The QoS API shall support a threshold job that includes a hysteresis specifying the amount a threshold value is allowed to oscillate within without generating a new alarm. Note: It also defines the clearing criteria for the alarm. The hysteresis is asymmetric (one-sided) and may be zero. If the direction of the threshold crossing is falling, a new alarm will not be generated before the threshold value has had the value thresholdValue + hyster-esis. Furthermore the alarm will not be cleared before the thresholdValue + hysteresis value is reached. For ris-ing thresholds, the opposite is applied.

Mandatory

Identifier: QoS-TM-12 (2.3.12)

The QoS API shall allow a client to configure a threshold job that includes a list of ObservableObject instances and attributes.

Optional

Identifier: QoS-TM-12 (2.3.12)

The QoS API shall allow a client to configure a threshold job that includes a list of ObservableObject instances and attribute.

Optional

Identifier: QoS-TM-12a

The QoS API shall allow a client to configure a threshold job that includes a list of ObservableObject classes and attributes.

Optional

Identifier: QoS-TM-12b

The QoS API shall allow a client to configure a threshold job that includes a list of ObservableObject instances and attribute.

Mandatory

Identifier: QoS-TM-13 (2.3.13)

The QoS API shall allow a client to configure a threshold job that includes measurement attributes specifying the attributes that will be checked against the threshold values.

Mandatory

Identifier: QoS-TM-14 (2.3.14)

The QoS API shall allow a client to configure a threshold job that includes measurement values specifying the values of the threshold attributes that will trigger an alarm.

Mandatory

Identifier: QoS-TM-15 (2.3.15)

The QoS API shall provide the ability to delete a threshold job.

Mandatory

Identifier: QoS-TM-16 (2.3.16)

The QoS API shall provide a mechanism to suspend a threshold job. Note: The threshold job will continue to exist in the system, but all monitoring activities associated with the job are suspended.

22

Page 27: OSS Quality of Service API

Requirements

Optional

Identifier: QoS-TM-17 (2.3.17)

The QoS API shall provide a mechanism to resume a threshold job. Note: Monitoring activities are resumed.

Optional

Identifier: QoS-TM-18 (2.3.18)

The QoS API shall support bulk operations to suspend/resume multiple performancethreshold monitoring jobs based on job ids.

Optional

Identifier: QoS-TM-19 (2.3.19)

The QoS API shall provide a threshold job that supports the following associations to monitored attributes a given attribute of an instance (object)

Mandatory

Identifier: QoS-TM-19a (2.3.19)

The QoS API shall provide a threshold job that supports the following associations to monitored attribute: a set of attributes of a set of instances of the same ObservableObjectClass (extremely, all the instances of a given type).

Optional

Identifier: QoS-TM-19b (2.3.19)

The QoS API shall provide a threshold job that supports the following associations to monitored attributes: set of attributes of the same instance.

Optional

Identifier: QoS-TM-20 (2.3.20)

The QoS API shall support a threshold event (alarm) that will be sent as an alarm in accordance with the Fault Data portion of the QoS API.

Mandatory

Identifier: QoS-TM-22 (2.3.22)

The QoS API shall allow a client to configure a threshold job that is characterized by a direction value that deals with the crossing direction, having the space value: {rising, falling}.

Mandatory

Identifier: QoS-TM-23 (2.3.23)

The QoS API shall support a threshold crossing corresponding to an alarm with a default QoS alarm type; else-where, other types of alarms could be defined. The setting of this parameter is optional.

Mandatory

Identifier: QoS-TM-24 (2.3.24)

The QoS API shall support a threshold job that will provide features to enable a client to configure the probable causein the threshold crossing alarm. The setting of this parameter is optional.

Mandatory

Identifier: QoS-TM-24a (2.3.24)

23

Page 28: OSS Quality of Service API

Requirements

The QoS API shall support a threshold job that will provide features to enable the client to configure the spe-cific problem in the threshold crossing alarm. The setting of this parameter is optional.

Mandatory

Identifier: QoS-AM-1

The QoS API shall support and comply with all the mandatory aspects of the 3GPP Alarm IRP.

Mandatory

Identifier: QoS-AM-8

The QoS API shall support a mechanism to get separate count results according to perceived severity (critical, major, minor, warning, indeterminate and cleared).

Mandatory

Identifier: QoS-AM-9

The QoS API shall allow for future extensions that provide for proprietary alarm severity levels

Mandatory

Identifier: QoS-UD-1 (4.1)

The QoS API for Usage Data shall use the API for Performance Data.

Mandatory

24

Page 29: OSS Quality of Service API

C H A P T E R 5Compliancy

<This section will contain API compliancy issues from the implementations standpoint>

25

Page 30: OSS Quality of Service API

Compliancy

26

Page 31: OSS Quality of Service API

C H A P T E R 6Interoperability

<This section will contain the interoperability issues from the clients standpoint>

27

Page 32: OSS Quality of Service API

Interoperability

28

Page 33: OSS Quality of Service API

C H A P T E R 7UseCases

This section covers some of the use cases of the API.

Locating Performance, Threshold or Fault Monitoring Systems

The client has to locate an instance of performance monitoring, threshold monitoring or fault monitoring sys-tems before sending its requests. By modeling each of these monitoring systems as a stateless session bean, cli-ents can perform standard RMI calls on their business methods. The home interface of performance, fault and threshold monitoring beans can be retrieved by using the JNDI service.

<add sample code and diagram here, class diagram may not be required >

Discover Supported Observable Objects

Observable Objects are objects whose measurement attributes (performance attributes) can be monitored by a performance monitoring system. The client application can query the performance monitoring system for the supported Observable Objects.

<add sample code and diagram here, class diagram may not be required >

Create a Performance Measurement Job

The client requests the performance monitoring system to monitor a set of measurement attributes for a set of Observable Objects. The client can specify the creation of a performance measurement job based on a specific schedule. The measurement job includes what Observable Object instance(s) or Observable Object class(s) to monitor, what granularity period to use and how the measurement results shall be retrieved. The performance monitoring system confirms or declines the request.

<add sample code and diagram here, class diagram may not be required >

List Performance Measurement Jobs

The client can query the performance monitoring system for already configured performance measurement jobs based on certain filtering criteria.

29

Page 34: OSS Quality of Service API

UseCases

<add sample code and diagram here, class diagram may not be required >

Delete Performance Measurement Jobs

The client can request the performance monitoring system to delete a set of performance measurement jobs.

<add sample code and diagram here, class diagram may not be required >

Suspend/Resume Performance Measurement Jobs

The client may suspend the performance measurement jobs. During this time the performance monitoring sys-tem may or may not collect the performance data from its sources, e.g performance data collected from the net-work element, but no data reports are sent to the client. The client may later resume the performance monitoring. The monitoring will then continue with the same characteristics as before the suspension.

<add sample code and diagram here, class diagram may not be required >

List Performance Data Reports

The client queries the performance monitoring system for the list of existing performance measurement results collected and created for different measurement jobs. The client can specify date and time criteria for retrieving this information.

<add sample code and diagram here, class diagram may not be required >

Receive Performance Data Notifications

The client receives performance data notifications using filtering criteria. The notifications can contain either the URI where the performance data locates or the performance data itself.

<add sample code and diagram here, class diagram may not be required >

Fetch Performance Data Report

The client initiates a request to fetch performance data from the performance monitoring systems. The client may have received information prior to this request, informing it that new data is available and the location of the data.

<add sample code and diagram here, class diagram may not be required >

30

Page 35: OSS Quality of Service API

UseCases

criteria.

f e sys-

Request Current Performance Data Report

If the client wants to receive the current result of a performance measurement job, outside the ordinary sched-ule, it may request a data report from the performance monitoring system. This report has the same format as a normal report and does not affect the normal scheduling of the performance monitoring.

<add sample code and diagram here, class diagram may not be required >

Threshold Setting on Performance Attributes

The client sends a request to the performance monitoring system instructing it to create a threshold object mon-itoring measurement attributes connected to an Observable Object instance(s) or Observable Object class(s). The threshold criteria, including the notification type and severity of the threshold violation notification, are included in the request. Note that in the threshold case, the granularity period should be quite short, to catch abnormal situations as soon as possible.

<add sample code and diagram here, class diagram may not be required >

Send and Receive Performance Threshold Crossing/Violations

When a threshold is crossed, the performance monitoring system generates and sends an Alarm to the client. The client receives the threshold violations.

<add sample code and diagram here, class diagram may not be required >

Fetch Alarm List

The client requests the fault monitoring systems to provide a list of alarms from its alarm list using a set of fil-tering criteria such as alarm state, e.g. “ACTIVE”, “ACKNOWLEDGED”, “UNACKNOWLEDGED”.

<add sample code and diagram here, class diagram may not be required >

Fetch Alarm Counts

The client requests the fault monitoring systems to provide the count of alarm based on a set of filtering

<add sample code and diagram here, class diagram may not be required >

Acknowledge Alarms

The client invokes this operation to acknowledge one or more alarms. The client does not supply time oacknowledgement. If operation is successful, the fault monitoring system sets the time of operation to thtem time. The fault monitoring system sets the state of the alarm to “acknowledged” as well.

<add sample code and diagram here, class diagram may not be required >

31

Page 36: OSS Quality of Service API

UseCases

se

UnAcknowledge Alarms

The client invokes this operation to unacknowledge one or more alarms. Notifications are sent to the clients subscribed to alarm state change.

<add sample code and diagram here, class diagram may not be required >

Send and Receive a New Alarm

The fault monitoring system notifies the subscribed clients that a new alarm has been added to its list of current alarms. The client receives the notification only for the added alarms that satisfy the current filter constraint of the subscription.

<add sample code and diagram here, class diagram may not be required >

Report a Changed Alarm

The fault monitoring system notifies subscribed clients regarding changes in the alarm information, such as per-ceived severity. The client receives the notification only for the changed alarms that satisfy the current filter constraint of the subscription.

<add sample code and diagram here, class diagram may not be required >

Report a Alarm State Change

The fault monitoring system notifies subscribed clients regarding changes in the state of the alarm, e.g. from “ACTIVE” state to “ACKNOWLEDGED” state. The client receives the notification only for the alarms whostate change satisfy the current filter constraint of the subscription.

<add sample code and diagram here, class diagram may not be required >

32

Page 37: OSS Quality of Service API

in order

e and ted by ped, and

the mea-rarily the t implies are per-

is started e is

her with on and

easure-mea-

C H A P T E R 8Package

javax.oss.pm.measurementDescriptionThis package refers to systems capabilities to read measurement data of observed managed object(s) and to pro-duces measurement reports. The capability to monitor observable objects is called a measurement job.

The package defines the administrative functions that a performance monitor agent shall to support. The admin-istration functions are:

• Create, Remove, Suspend and Resume of measurement jobs, • Get measurement jobs, • Get supported report formats, • Get supported observable objects, • Retrieval of measurement reports, • Support for bulk/mass operations.

Create, Remove, suspend and Resume measurement jobsThe package supports creation of measurement jobs and on creation, all information has to be suppliedto collect the required data from the selected resources as specified by the measurement job.

A measurement job is automatically deleted by the system when it reaches the measurement job end timall scheduled measurement reports have been generated. A created measurement job can also be delemanual intervention at any time. When deleted, the measurement process associated with the job is stopall allocated resources are freed.

On normal operation, the measurement job collects measurement data according to the actual values ofsurement job parameters. However, the system operator may decide for some reason to discard tempocollection of measurement data (e.g. in case of system overload or congestion, measurement results noused,...). The system operator therefore is able to suspend a defined measurement job at any time. Thisthat the measurement job definition remains in the system, but that no measurement gathering activitiesformed for this measurement job. When the measurement job is resumed, measurement data collection again at the next granularity period within the measurement schedule. Functions to suspend and resumoptional to implement.

Get measurement jobsThe users of the package is be able to get a list of all measurement jobs that are currently defined, togetall available actual information as stored. This information consists of the data that is supplied on creatithe actual state information of the measurement job.

Get report formatsThe package provide functions to determine the current measurement report format and the supported mment report formats. This information will be used by the user of the package to specify in which format surement reports shall be generated.

33

Page 38: OSS Quality of Service API

javax.oss.pm.measurement

all be the pos-ea-

rement

is sent to rt and it can ion of

surement

above.

Get supported observable objectsA discover mechanisms is provided to find the supported observable object classes and observable object instances. Observable object instances can be found by using observable object class or by specifying a base object where the observable object instances are hierarchical located below. Mechanism to find the measure-ment types associated with an Observable Object class is also provided.

Retrieval of measurement reportsEach measurement job will collect measurement data at a particular frequency, known as the granularity period of the measurement job. At the end of the granularity period a scheduled measurement report shall be generated for each measurement job that is actively collecting measurement data. These measurement reports of the mea-surement data collection can be forwarded to the client in two standard ways:

• the scheduled measurement reports can be sent to the client as soon as they are available, • the measurement reports can be stored and transferred to or retrieved when required.

The measurement reports shall be forward to the client in one or both of the above standard ways. It shpossible for the client to specify the details for its measurement retrieval. It is also necessary to support sibility for multiple destinations for transfer of data, in the case of several clients required the produced msurement reports.

The first case will forward the measurement report in a event to the client. This event contains the measureport data and is issued when the report mode is set to event.

The second case requires implementation of local storage of the measurement reports and that a event the clients when the data is available. This event contains the identity/location of the measurement reposhall be issued when the local stored measurement report is created. When the client receive this eventretrieve the data. If the client, for some reason, does not receive this event it can query the implementatavailable stored measurement reports.

Support for bulk/mass operationsThe package provide operations to create, remove, suspend, resume and get multiple instances of meajobs.

Package interfacesThe measurement package consist of four type of interfaces:

• EJB interfaces • Value object interfaces • Event interfaces • Utility interfaces

EJB interfacesThe EJB interfaces are the main interfaces of this package. They provide all capabilities that are describeThe interfaces are showed below:

34

Page 39: OSS Quality of Service API

javax.oss.pm.measurement

ple-

ustrated

The “Measurement Job Implementation” is not part of the package, it is just to illustrate how the EJB immentation is related to the performance monitor interfaces.

The PerformanceMonitorMethods defines all remot accesible business operations. The operations are illbelow:

35

Page 40: OSS Quality of Service API

javax.oss.pm.measurement

Value object interfacesThe value object interfaces is the value representation of a measurement job. Implementations of these inter-faces are used when creating measurement jobs and retrieving data of the measurement jobs. The value object interfaces are:

36

Page 41: OSS Quality of Service API

javax.oss.pm.measurement

The PerformanceMonitorValue interface is only a base interface for the other two value interfaces. The PerformanceMonitorByObjectValue interface is mandatory and the PerformanceMonitorByClassesValue is optional.

The operation on the PerformanceMonitorByObjectValue is illustrated below:

37

Page 42: OSS Quality of Service API

javax.oss.pm.measurement

Event interfacesThe event interfaces provides functionality to for an implementation to send performance monitor event on JMS and for a user to receive performance monitor event via JMS. The event interfaces are showed below:

38

Page 43: OSS Quality of Service API

javax.oss.pm.measurement

mes- to filter

ta-

The “descriptor” interfaces is used to create JMS messages and set the filterable properties of the JMS sages. The client applications can use the constants of this interface when constructing selection critertiaout specific JMS messages that contains the events.

The BaseEvent interface is only a base interface for the other two event interfaces. The PerformanceDaAvailableEvent interface is mandatory and the PerformanceDataEvent is optional.

39

Page 44: OSS Quality of Service API

javax.oss.pm.measurement

The operation on the PerformanceDataAvailableEvent is illustrated below:

Utility interfacesThe utility interfaces represents information that are needed for measurement job and the events that are emit-ted. The utility interfaces are:

40

Page 45: OSS Quality of Service API

javax.oss.pm.measurement

41

Page 46: OSS Quality of Service API

javax.oss.pm.measurement

42

Page 47: OSS Quality of Service API

javax.oss.pm.measurement

Related DocumentationThe following external documents are applicable for the specification:

• 3GPP TS 32.104: 3G Performance Management (PM), R99

Class Summary

Interfaces

BaseEvent44 This interface represents the base payload of an event.

BaseEventDescriptor46 The BaseEventDescriptor interface contains string based static fields that define filter-able event attributes and their types.

PerformanceAttributeDescriptor90

Represent a measurement attribute that can be monitored in the observable object class.

PerformanceDataEvent51 The performance data event defines the payload of the events that contains measure-ment reports.

PerformanceDataEventDescriptor52

The PerformanceDataEventDescriptor interface is equivalent to an enumerated type i.e. it is a public interface with string based static fields and is used to declare what event attributes are filterable and what are their types.

PerformanceDataAvailableEvent49

This interface represents the payload of the event that is sent when a measurement report file has been created.

PerformanceDataAvailableEventDescriptor50

The PerformanceDataAvailableEventDescriptor interface is equivalent to an enumer-ated type i.e. it is a public interface with string based static fields and is used to declare what event attributes are filterable and what are their types.

PerformanceMonitor53 The PerformanceMonitor interface is a EJB remote interface and the central interface of this package to manage measurement jobs.

PerformanceMonitorByClassesValue55

This interface is the value representation of a measurement job that monitor a set of specified attributes on a set of observable object classes.

PerformanceMonitorByObjectsValue57

This interface is the value representation of a measurement job that monitor a set of specified attributes on a set of observable object instances.

PerformanceMonitorHome59

The Performance Monitor Home interface is the factory to create new remote interface to Performance Monitor beans.

PerformanceMonitorKey61

This interface is the primary key of a performance monitor instance.

PerformanceMonitorKeyResult62

This interface encapsulates all the information necessary to indicate the result of a BEST EFFORT operation on a specific measurement job.

PerformanceMonitorMethods63

The PerformanceMonitorMethods interface defines the business functions for the PerformanceMonitor remote interface and the bean implementation.

PerformanceMonitorState78

Defines the state constants for performance monitor.

PerformanceMonitorValue79

This interface is the base value representation of a measurement job.

PerformanceMonitorValueIterator88

This interface manages retrieval of multiple measurement jobs.

QueryByDNValue103 This interface is used to query for measurement jobs by specifying distinguished names.

43

Page 48: OSS Quality of Service API

BaseEvent

BaseEventSyntaxpublic interface BaseEvent extends Event235

All Known Subinterfaces: PerformanceDataEvent51, PerformanceDataAvailableEvent49

All Superinterfaces: java.lang.Cloneable, Event235, java.io.Serializable

DescriptionThis interface represents the base payload of an event.

Author: Stefan Ýberg

Version: 0.1, 2001-02-08

See Also: BaseEventDescriptor46

QueryPerformanceMonitorValue100

This interface represents the attributes of a measurement job that can be used to make queries for measurement jobs.

ReportFormat93 This interface represent the format of the measurements reports.

ReportInfo96 Contains information related to a measurement report file.

ReportInfoIterator97 This interface manages retrieval of information for multiple measurement reports.

ReportMode99 Defines enumeration values for report mode.

Member Summary

MethodsString getManagedObjectClass()45String getManagedObjectInstance()45

PerformanceMonitorKey getPerformanceMonitorKey()45String getSystemDN()45

void setManagedObjectClass(String)45void setManagedObjectInstance(String)45void setPerformanceMonitorKey(PerformanceMonitorKey)46void setSystemDN(String)46

Class Summary

44

Page 49: OSS Quality of Service API

BaseEvent

getManagedObjectClass()

Methods

getManagedObjectClass()

public java.lang.String getManagedObjectClass()

Gets the class name of the object instance where this event occurred.

Returns: String The class name object instance.

getManagedObjectInstance()

public java.lang.String getManagedObjectInstance()

Gets the distinguished name of the object instance where this event occurred.

Returns: String The distinguished name object instance.

getPerformanceMonitorKey()

public PerformanceMonitorKey61 getPerformanceMonitorKey()

Gets the key of the measurement job that generated the event.

If the event is for many measurement jobs null will be returned.

Returns: PerformanceMonitorKey Key of the measurement job.

getSystemDN()

public java.lang.String getSystemDN()

Gets the distinguished name of the system that issued this event.

Returns: String The distinguished name of the system.

setManagedObjectClass(String)

public void setManagedObjectClass(java.lang.String moc)

Sets the class name of the object instance that will issue this event.

Parameters:moc - The class name of the object instance.

setManagedObjectInstance(String)

public void setManagedObjectInstance(java.lang.String moi)

Sets the distinguished name of the object instance that will issue this event.

Parameters:moi - The distinguished name of the object instance.

45

Page 50: OSS Quality of Service API

BaseEventDescriptor

setPerformanceMonitorKey(PerformanceMonitorKey)

setPerformanceMonitorKey(PerformanceMonitorKey)

public void setPerformanceMonitorKey(PerformanceMonitorKey61 key)

Sets the primary key of the measurement job that generated the event.

Parameters:key - The primary key of the measurement job.

setSystemDN(String)

public void setSystemDN(java.lang.String dn)

Sets the distinguished name of the system that will issue this event.

Parameters:dn - The distinguished name of the system.

BaseEventDescriptorSyntaxpublic interface BaseEventDescriptor extends EventPropertyDescriptor237

All Known Subinterfaces: PerformanceDataEventDescriptor52, PerformanceDataAvailableEventDescriptor50

All Superinterfaces: EventPropertyDescriptor237, java.io.Serializable

DescriptionThe BaseEventDescriptor interface contains string based static fields that define filterable event attributes and their types.

The interface also contains the definition of methods that can be used at run-time to dynamically discover the properties of the event and their types. The interface has also methods to create a JMS message.

The inherited methods from the EventPropertyDescriptor will do the following:

getEventType() Return the event type as a string.

getPropertyNames() List of properties that can be set.

getPropertyTypes() The type of each property.

makeEvent() Creates a instance of the event type.

makeObjectMessage(Event, java.util.Hashtable) Creates a JMS object message, with the Event as payload.

makeTextMessage(Event, java.util.Hashtable) Creates a JMS textbased messaged with the payload in XML format. If the implementation does not support conversion to XML format, null shall be returned.

For the operations makeObjectMessage and makeTextMessage the following properties will be set:

• EVENT_TYPE is set to the value from event.getEventType() • ADMIN_DOMAIN is set to the value from event.getAdminDomain() • OSS_VERSION is set to the version of the API.

46

Page 51: OSS Quality of Service API

BaseEventDescriptor

MANAGED_OBJECT_CLASS_PROP_NAME

ations

e l Time

roperties

Other properties will be set if a value is set in the event. These properties are:

• EVENT_TIME is set to the value from event.getEventTime() • MANAGED_OBJECT_CLASS is set to the value from event.getManagedObjectClass() • MANAGED_OBJECT_INSTANCE is set to the value from event.getManagedObjectInstance() • SYSTEM_DN is set to the value from event.getSystemDN() • PERFORMANCE_MONITOR_KEY is set to the value from event.getPerformanceMonitorKey()

The OSS_VERSION is set to the version of the API. The version shall be constructed by using the operon the Home interface.

The EVENT_TIME shall be in the following format: “yyyy-MM-dd’T’HH:mm:ss z” For example, to indicat1:20 pm on May the 31st, 1999 for Eastern Standard Time which is 5 hours behind Coordinated Universa(UTC), one would write: “1999-05-31T13:20:00 GMT-05:00”.

The hashtable in the operations makeObjectMessage and makeTextMessage can be used to set extra pof the messages.

Author: Stefan Ýberg

Version: 0.1, 2001-02-08

Fields

MANAGED_OBJECT_CLASS_PROP_NAME

public static final java.lang.String MANAGED_OBJECT_CLASS_PROP_NAME

Define the property name for managed object class.

The method getPropertyNames() returns this constant.

MANAGED_OBJECT_CLASS_PROP_TYPE

public static final java.lang.String MANAGED_OBJECT_CLASS_PROP_TYPE

Member Summary

FieldsString MANAGED_OBJECT_CLASS_PROP_NAME47String MANAGED_OBJECT_CLASS_PROP_TYPE47String MANAGED_OBJECT_INSTANCE_PROP_NAME48String MANAGED_OBJECT_INSTANCE_PROP_TYPE48String OSS_VERSION_PROP_NAME48String OSS_VERSION_PROP_TYPE48String PERFORMANCE_MONITOR_KEY_PROP_NAME48String PERFORMANCE_MONITOR_KEY_PROP_TYPE48String SYSTEM_DN_PROP_NAME49String SYSTEM_DN_PROP_TYPE49

47

Page 52: OSS Quality of Service API

BaseEventDescriptor

MANAGED_OBJECT_INSTANCE_PROP_NAME

Define the property type for managed object class.

The method getPropertyTypes() returns this constant.

MANAGED_OBJECT_INSTANCE_PROP_NAME

public static final java.lang.String MANAGED_OBJECT_INSTANCE_PROP_NAME

Define the property name for managed object instances.

The method getPropertyNames() returns this constant.

MANAGED_OBJECT_INSTANCE_PROP_TYPE

public static final java.lang.String MANAGED_OBJECT_INSTANCE_PROP_TYPE

Define the property type for managed object instance.

The method getPropertyTypes() returns this constant.

OSS_VERSION_PROP_NAME

public static final java.lang.String OSS_VERSION_PROP_NAME

Define the property name for the version.

The method getPropertyNames() returns this constant.

OSS_VERSION_PROP_TYPE

public static final java.lang.String OSS_VERSION_PROP_TYPE

Define the property type for the version.

The method getPropertyTypes() returns this constant.

PERFORMANCE_MONITOR_KEY_PROP_NAME

public static final java.lang.String PERFORMANCE_MONITOR_KEY_PROP_NAME

Define the property name for performance monitor key.

This property is only available if the event is applicable for one measurement job.

The method getPropertyNames() returns this constant.

PERFORMANCE_MONITOR_KEY_PROP_TYPE

public static final java.lang.String PERFORMANCE_MONITOR_KEY_PROP_TYPE

Define the property type for performance monitor key.

The method getPropertyTypes() returns this constant.

48

Page 53: OSS Quality of Service API

PerformanceDataAvailableEvent

SYSTEM_DN_PROP_NAME

SYSTEM_DN_PROP_NAME

public static final java.lang.String SYSTEM_DN_PROP_NAME

Define the property name for system distinguished name.

The method getPropertyNames() returns this constant.

SYSTEM_DN_PROP_TYPE

public static final java.lang.String SYSTEM_DN_PROP_TYPE

Define the property type for system distinguished name.

The method getPropertyTypes() returns this constant.

PerformanceDataAvailableEventSyntaxpublic interface PerformanceDataAvailableEvent extends BaseEvent44

All Superinterfaces: BaseEvent44, java.lang.Cloneable, Event235, java.io.Serializable

DescriptionThis interface represents the payload of the event that is sent when a measurement report file has been created.

Author: Stefan Ýberg

Version: 0.2, 2001-02-08

See Also: PerformanceDataAvailableEventDescriptor50

Methods

getReportInformation()

public ReportInfo96 getReportInformation()

Gets information about the report.

The report information contains all information that is needed to retrieve measurement report data.

Member Summary

MethodsReportInfo getReportInformation()49

49

Page 54: OSS Quality of Service API

PerformanceDataAvailableEventDescriptor

EVENT_TYPE_VALUE

Returns: ReportInfo Measurement report information.

PerformanceDataAvailableEventDe-scriptorSyntaxpublic interface PerformanceDataAvailableEventDescriptor extends BaseEventDescriptor46

All Superinterfaces: BaseEventDescriptor46, EventPropertyDescriptor237, java.io.Serial-izable

DescriptionThe PerformanceDataAvailableEventDescriptor interface is equivalent to an enumerated type i.e. it is a public interface with string based static fields and is used to declare what event attributes are filterable and what are their types.

The interface also contains the definition of methods that can be used at run-time to dynamically discover the properties of the event and their types. The interface has also two methods to create a JMS message and to covert from a JMS message to a PerformanceDataAvailableEvent.

Author: Stefan Ýberg

Version: 0.2, 2001-03-06

Fields

EVENT_TYPE_VALUE

public static final java.lang.String EVENT_TYPE_VALUE

Defines the event type of Performance Data Available Events.

The method getEventType() returns this constant.

Member Summary

FieldsString EVENT_TYPE_VALUE50

MethodsPerformanceDataAvail-

ableEvent

fromJMS(Message)51

50

Page 55: OSS Quality of Service API

PerformanceDataEvent

fromJMS(Message)

ent.

Methods

fromJMS(Message)

public PerformanceDataAvailableEvent49 fromJMS(javax.jms.Message msg)

throws javax.oss.IllegalArgumentException

Extract the payload from the JMS message.

If the JMS message is

• an ObjectMessage the payload will be extracted and converted to PerformanceDataAvailableEv

Parameters:The - message that contains the payload.

Returns: PerformanceDataAvailableEvent Returns the payload of the message.

Throws:IllegalArgumentException239 - Is raised if the payload could not bee extracted from the message.

PerformanceDataEventSyntaxpublic interface PerformanceDataEvent extends BaseEvent44

All Superinterfaces: BaseEvent44, java.lang.Cloneable, Event235, java.io.Serializable

DescriptionThe performance data event defines the payload of the events that contains measurement reports.

Author: Stefan Ýberg

Version: 0.2, 2001-02-08

See Also: PerformanceDataEventDescriptor52

Member Summary

MethodsObject getPerformanceMonitorReport()52

ReportFormat getReportFormat()52

51

Page 56: OSS Quality of Service API

PerformanceDataEventDescriptor

getPerformanceMonitorReport()

Methods

getPerformanceMonitorReport()

public java.lang.Object getPerformanceMonitorReport()

Get the measurement report.

If the measurement result is in XML format a String object will be returned.

Returns: Object The measurement result.

getReportFormat()

public ReportFormat93 getReportFormat()

Gets the measurement report format.

Returns: ReportFormat The measurement report format.

PerformanceDataEventDescriptorSyntaxpublic interface PerformanceDataEventDescriptor extends BaseEventDescriptor46

All Superinterfaces: BaseEventDescriptor46, EventPropertyDescriptor237, java.io.Serial-izable

DescriptionThe PerformanceDataEventDescriptor interface is equivalent to an enumerated type i.e. it is a public interface with string based static fields and is used to declare what event attributes are filterable and what are their types.

The interface also contains the definition of methods that can be used at run-time to dynamically discover the properties of the event and their types. The interface has also two methods to create a JMS message and to covert from a JMS message to a PerformanceDataEvent.

Author: Stefan Ýberg

Version: 0.2, 2001-03-06

Member Summary

FieldsString EVENT_TYPE_VALUE53

MethodsPerformanceDataEvent fromJMS(Message)53

52

Page 57: OSS Quality of Service API

PerformanceMonitor

EVENT_TYPE_VALUE

manage

dminis-

Fields

EVENT_TYPE_VALUE

public static final java.lang.String EVENT_TYPE_VALUE

Defines the event type of Performance Data Available Events.

The method getEventType() returns this constant.

Methods

fromJMS(Message)

public PerformanceDataEvent51 fromJMS(javax.jms.Message msg)

throws javax.oss.IllegalArgumentException

Extract the payload from the JMS message.

If the JMS message is

• an ObjectMessage the payload will be extracted and converted to PerformanceDataEvent.

Parameters:The - message that contains the payload.

Returns: PerformanceDataAvailableEvent Returns the payload of the message.

Throws:IllegalArgumentException239 - Is raised if the payload could not bee extracted from the message.

PerformanceMonitorSyntaxpublic interface PerformanceMonitor extends javax.ejb.EJBObject, PerformanceMonitorMethods63

All Superinterfaces: javax.ejb.EJBObject, PerformanceMonitorMethods63, java.rmi.Remote

DescriptionThe PerformanceMonitor interface is a EJB remote interface and the central interface of this package to measurement jobs.

This interface defines administrative functions that a performance monitoring agent shall support. The atration functions are:

• Creating a measurement job • Deleting a measurement job • Suspending/resuming a measurement job • Get measurement job

53

Page 58: OSS Quality of Service API

PerformanceMonitor

fromJMS(Message)

er to

the can also h the job

ent may m over- a defined ut that ob is ment

cur-ta that

re-

ervable d below. ed.

re-duled e mea- client in

all be the pos-ea-

rement

is sent to rt and ovide

• Get supported report formats • Get supported observable objects • Retrieval of measurement reports

Creating a measurement job: On creation of a measurement job, all information has to be supplied in ordcollect the required data from the selected resources as specified by the measurement job.

Deleting a measurement job: A measurement job is automatically deleted by the system when it reachesjob end time and all scheduled measurement reports have been generated. A created measurement jobbe deleted by manual intervention at any time. When deleted, the measurement process associated witis stopped, and all allocated resources are freed.

Suspending/resuming a measurement job: On normal operation, the measurement job collects measuremdata according to the actual values of the measurement job parameters. However, the system operator decide for some reason to discard temporarily the collection of measurement data (e.g. in case of systeload or congestion, measurement results not used,...). The system operator therefore is able to suspendmeasurement job at any time. This implies that the measurement job definition remains in the system, bno measurement gathering activities are performed for this measurement job. When the measurement jresumed, measurement data collection is started again at the next granularity period within the measureschedule. These operations are optional.

Get a measurement job: The users of the interface shall be able to get a list of all measurements that arerently defined, together with all available actual information as stored. This information consists of the dais supplied on creation/modification and the actual state information of the measurement job.

Get report formats: The bean implementation shall provide the functions to determine the current measument report format.

Get supported observable objects: A discover mechanisms is provided to find the supported observable object classes and observable object instances. Observable object instances can be found by using obsobject class or by specifying a base object where the observable object instances are hierarchical locateMechanism to find the performance attributes associated with an Observable Object class is also provid

Retrieval of measurement reports: Each measurement job will collect measurement data at a particular fquency, known as the granularity period of the measurement. At the end of the granularity period a schemeasurement report shall be generated for each measurement job that is actively collecting performancsurement data. These measurement reports of the measurement data collection can be forwarded to thetwo standard ways:

• the scheduled measurement reports can be sent to the client as soon as they are available, • the measurement reports can be stored and transferred to or retrieved when required.

The measurement reports shall be forward to the client in one or both of the above standard ways. It shpossible for the client to specify the details for its measurement retrieval. It is also necessary to support sibility for multiple destinations for transfer of data, in the case of several clients required the produced msurement reports.

The first case will forward the measurement report in a event to the client. This event contains the measureport data and is issued when the report mode is set to event.

The second case requires implementation of local storage of the measurement reports and that a event the clients when the data is available. This event contains the identity/location of the measurement reposhall be issued when the local stored measurement report is created. The bean implementation shall prfunction to find available stored measurement reports.

Author: Stefan Ýberg

54

Page 59: OSS Quality of Service API

PerformanceMonitorByClassesValue

fromJMS(Message)

a t job. If

ill be

Version: 0.3, 2001-02-15

PerformanceMonitorByClassesValueSyntaxpublic interface PerformanceMonitorByClassesValue extends PerformanceMonitorValue79

All Superinterfaces: java.lang.Cloneable, ManagedEntityValue241, PerformanceMonitorValue79, java.io.Serializable

DescriptionThis interface is the value representation of a measurement job that monitor a set of specified attributes on a set of observable object classes.

This interface extends the PerformanceMonitorValue interface with a new attribute:

• a list of measurement attributes to monitor. • a list of Observable Object classes. • a scope that define from where to find the observable object classes.

The new attributes, of the value object, are a list of observed object classes that shall be monitored, withscope, and an optional list of measurement attributes, that identify what is monitored by the measurementhe measurement attribute list is omitted, all measurement attributes in the observed object instances wmonitored (scanned).

Author: Stefan Ýberg

Version: 0.1, 2001-02-08

See Also: PerformanceMonitor53

Member Summary

FieldsString MEASUREMENT_ATTRIBUTES56String OBSERVABLE_OBJECT_CLASSES56String SCOPE56String VALUE_TYPE56

MethodsPerformanceAttribute-

Descriptor[]

getMeasurementAttributes()56

String[] getObservedObjectClasses()56String getScope()56

void setMeasurementAttributes(PerformanceAttributeDescriptor[])57void setObservedObjectClasses(String[])57void setScope(String)57

55

Page 60: OSS Quality of Service API

PerformanceMonitorByClassesValue

MEASUREMENT_ATTRIBUTES

Fields

MEASUREMENT_ATTRIBUTES

public static final java.lang.String MEASUREMENT_ATTRIBUTES

Constant for attribute measurement attributes.

OBSERVABLE_OBJECT_CLASSES

public static final java.lang.String OBSERVABLE_OBJECT_CLASSES

Constant for attribute observable object classes.

SCOPE

public static final java.lang.String SCOPE

Constant for attribute defining the scope.

VALUE_TYPE

public static final java.lang.String VALUE_TYPE

Constant that can be used to match what is returned from PerormanceMonitor::getPerformanceMonitor-Types().

Methods

getMeasurementAttributes()

public PerformanceAttributeDescriptor90[] getMeasurementAttributes()

Returns a list of measurement attributes.

Returns: PerformanceAttributeDescriptor[] List of measurement attribute.

getObservedObjectClasses()

public java.lang.String[] getObservedObjectClasses()

Returns a list of observable object class names.

Returns: String[] List of observable object class names.

getScope()

public java.lang.String getScope()

Returns the distinguished name of the object where the scope start from.

56

Page 61: OSS Quality of Service API

PerformanceMonitorByObjectsValue

setMeasurementAttributes(PerformanceAttributeDescriptor[])

Returns: String The distinguished name of the object where the scope start from.

setMeasurementAttributes(PerformanceAttributeDescriptor[])

public void setMeasurementAttributes(PerformanceAttributeDescriptor90[]

measurmentAttributeNames)

Sets the measurement attributes to be monitored.

The supplied measurement attribute must be supported of all monitored objects.

The measurement attributes will be validated when the value object is passed to the performance monitorbean.

Parameters:measurmentAttributeNames - List of measurement attribute.

setObservedObjectClasses(String[])

public void setObservedObjectClasses(java.lang.String[] observedObjectClasses)

Sets the observable object classes that shall be monitored.

The observable object classes will be validated when the value object is passed to the performance monitorbean.

Parameters:observedObjectClasses - List of observable object class names.

setScope(String)

public void setScope(java.lang.String base)

Sets the distinguished name of the object where the scope shall start from.

Parameters:base - The distinguished name of the object where the scope shall start from.

PerformanceMonitorByObjectsValueSyntaxpublic interface PerformanceMonitorByObjectsValue extends PerformanceMonitorValue79

All Superinterfaces: java.lang.Cloneable, ManagedEntityValue241, PerformanceMonitorValue79, java.io.Serializable

DescriptionThis interface is the value representation of a measurement job that monitor a set of specified attributes on a set of observable object instances.

This interface extends the PerformanceMonitorValue interface with a new attribute:

• a list of measurement attributes to monitor. • a list of observable object instances.

57

Page 62: OSS Quality of Service API

PerformanceMonitorByObjectsValue

MEASUREMENT_ATTRIBUTES

onitor-

The new attributes, of the value object, are a list of observed object instances that shall be monitored and an optional list of measurement attributes, that identify what is monitored by the measurement job. If the measure-ment attribute list is omitted, all measurement attributes in the observed object instances will be monitored (scanned). The observable object instances should be of the same type.

Author: Stefan Ýberg

Version: 0.6, 2001-04-10

See Also: PerformanceMonitor53

Fields

MEASUREMENT_ATTRIBUTES

public static final java.lang.String MEASUREMENT_ATTRIBUTES

Constant for attribute measurement attributes.

OBSERVED_OBJECTS

public static final java.lang.String OBSERVED_OBJECTS

Constant for attribute observable object.

VALUE_TYPE

public static final java.lang.String VALUE_TYPE

Constant that can be used to match what is returned from PerormanceMonitor::getPerformanceMTypes().

Member Summary

FieldsString MEASUREMENT_ATTRIBUTES58String OBSERVED_OBJECTS58String VALUE_TYPE58

MethodsPerformanceAttribute-

Descriptor[]

getMeasurementAttributes()59

String[] getObservedObjects()59void setMeasurementAttributes(PerformanceAttributeDescriptor[])59void setObservedObjects(String[])59

58

Page 63: OSS Quality of Service API

PerformanceMonitorHome

getMeasurementAttributes()

Methods

getMeasurementAttributes()

public PerformanceAttributeDescriptor90[] getMeasurementAttributes()

Returns a list of measurement attributes.

Returns: PerformanceAttributeDescriptor[] List of measurement attribute.

getObservedObjects()

public java.lang.String[] getObservedObjects()

Returns a list of observable object distinguished names.

Returns: String[] List of observable object distinguished names.

setMeasurementAttributes(PerformanceAttributeDescriptor[])

public void setMeasurementAttributes(PerformanceAttributeDescriptor90[]

measurmentAttributeNames)

Sets the measurement attributes to be monitored.

The supplied measurement attribute must be supported of all monitored objects.

The measurement attributes will be validated when the value object is passed to the performance monitorbean.

Parameters:measurmentAttributeNames - List of measurement attribute.

setObservedObjects(String[])

public void setObservedObjects(java.lang.String[] observedObjects)

Sets the observable object that shall be monitored.

The observable objects will be validated when the value object is passed to the performance monitor bean.

Parameters:observedObjects - List of observable object distinguished names.

PerformanceMonitorHomeSyntaxpublic interface PerformanceMonitorHome extends javax.ejb.EJBHome

All Superinterfaces: javax.ejb.EJBHome, java.rmi.Remote

59

Page 64: OSS Quality of Service API

PerformanceMonitorHome

create()

an.

DescriptionThe Performance Monitor Home interface is the factory to create new remote interface to Performance Monitor beans.

The Performance Monitor Home interface is registered in JNDI as part of the Performance Monitor Beans deployment process. The PerformanceMonitorHome is registered under naming attributes which can be used to find the PerformanceMonitorHome interface.

The following code illustrates how to find a PerformanceMonitorHome interface and checking the version of the EJB before the remote interface is created.

Context initial = new InitialContext();java.lang.Object objref = initial.lookup(“Ericsson/RAN/PerformanceMonitor”);PerformanceMonitorHome pmHome =(PerformanceMonitorHome)PortableRemoteObject.narrow(objr

ef, PerformanceMonitorHome.class);// Check the versionVersion ver = pmHome.getVersion();if ( ver.isCompatible( “OSS QoS API version 1.0” ){

// Create the remote interface of Performance MonitorPerformanceMonitor pmSession = pmHome.create();// Do something

}

Author: Stefan Ýberg

Version: 0.2, 2001-01-15

Methods

create()

public PerformanceMonitor53 create()

throws javax.ejb.CreateException, java.rmi.RemoteException

Creates a new instance of the Performance Monitor bean.

Returns: PerformanceMonitor The remote interface to the new object.

Throws:javax.ejb.CreateException - Is raised if a failure to create a new performance monitor be

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

Member Summary

MethodsPerformanceMonitor create()60

Version getVersion()61

60

Page 65: OSS Quality of Service API

PerformanceMonitorKey

getVersion()

getVersion()

public Version245 getVersion()

throws java.rmi.RemoteException

Retrieve information of the supported API version.

Returns: Version The version object for the remote interface.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

PerformanceMonitorKeySyntaxpublic interface PerformanceMonitorKey extends ManagedEntityKey240

All Superinterfaces: java.lang.Cloneable, ManagedEntityKey240, java.io.Serializable

DescriptionThis interface is the primary key of a performance monitor instance.

It identifies the created measurement job. The key of the measurement job is a unique identifier of the measure-ment job.

Author: Stefan Ýberg

Version: 0.2, 2001-02-08

Methods

getPerformanceMonitorPrimaryKey()

public java.lang.String getPerformanceMonitorPrimaryKey()

Returns the primary key of the measurement job.

Returns: String The primary key of the measurement job in string format.

Member Summary

MethodsString getPerformanceMonitorPrimaryKey()61

void setPerformanceMonitorPrimaryKey(String)62

61

Page 66: OSS Quality of Service API

PerformanceMonitorKeyResult

setPerformanceMonitorPrimaryKey(String)

setPerformanceMonitorPrimaryKey(String)

public void setPerformanceMonitorPrimaryKey(java.lang.String key)

Sets the primary key of the measurement job.

Parameters:key - The primary key of the measurement job in string format.

PerformanceMonitorKeyResultSyntaxpublic interface PerformanceMonitorKeyResult extends java.io.Serializable

All Superinterfaces: java.io.Serializable

DescriptionThis interface encapsulates all the information necessary to indicate the result of a BEST EFFORT operation on a specific measurement job.

The performance monitor key result is used in operations involving multiple measurement jobs, for example in the deletion or creation of multiple measurement jobs.

The interface contains the primary key of the measurement job, a boolean value indicating if the operation was successful for that measurement job and the reason why the operation failed.

Author: Stefan Ýberg

Version: 0.1, 2001-02-28

Methods

getFailureReason()

public java.lang.String getFailureReason()

Returns the reason of the failure.

Returns: String The reason of the failure.

Member Summary

MethodsString getFailureReason()62

PerformanceMonitorKey getPerformanceMonitorKey()63boolean isSuccess()63

62

Page 67: OSS Quality of Service API

PerformanceMonitorMethods

getPerformanceMonitorKey()

getPerformanceMonitorKey()

public PerformanceMonitorKey61 getPerformanceMonitorKey()

Returns the primary key of the measurement job.

Returns: PerformanceMonitorKey The primary key of the measurement job.

isSuccess()

public boolean isSuccess()

Indicates if the operation was successful for the measurement job.

Returns: boolean Returns false if the operation failed on the measurement job.

PerformanceMonitorMethodsSyntaxpublic interface PerformanceMonitorMethods

All Known Subinterfaces: PerformanceMonitor53

DescriptionThe PerformanceMonitorMethods interface defines the business functions for the PerformanceMonitor remote interface and the bean implementation.

By providing the business operations in a separate interface allows the bean designers to get compile time checks that their bean will work with the remote interface.

Author: Stefan Ýberg

Version: 0.4, 2001-03-06

Member Summary

FieldsString GET_CURRENT_RESULT_REPORT64String MAKE_PERFORMANCE_MONITOR_BY_CLASSES_VALUE65String RESUME_PERFORMANCE_MONITOR65String SUSPEND_PERFORMANCE_MONITOR65String TRY_CREATE_PERFORMANCE_MONITORS65String TRY_REMOVE_PERFORMANCE_MONITORS65String TRY_RESUME_PERFORMANCE_MONITORS65String TRY_SUSPEND_PERFORMANCE_MONITORS65

MethodsPerformanceMonitorKey createPerformanceMonitor(PerformanceMonitorValue)65

ReportFormat getCurrentReportFormat()67Object getCurrentResultReport(PerformanceMonitorKey, ReportFormat)67

63

Page 68: OSS Quality of Service API

PerformanceMonitorMethods

GET_CURRENT_RESULT_REPORT

Fields

GET_CURRENT_RESULT_REPORT

public static final java.lang.String GET_CURRENT_RESULT_REPORT

Constant for the optional operation getCurrentResultReport.

BaseEventDescriptor getEventDescriptor(String)67String[] getEventTypes()68

PerformanceAttribute-Descriptor[]

getObservableAttributes(String)68

ObservableObjectClas-sIterator

getObservableObjectClasses()68

ObservableObjectIter-ator

getObservableObjects(String, String)69

PerformanceMonitor-Value

getPerformanceMonitor(PerformanceMonitorKey, String[])69

PerformanceMonitor-ValueIterator

getPerformanceMonitors(PerformanceMonitorKey[], String[])70

String[] getPerformanceMonitorTypes()70ReportInfoIterator getPerformanceReportInfo(PerformanceMonitorKey, Calendar)70

String[] getQueryTypes()71ReportFormat[] getReportFormats()71

int[] getReportModes()71int[] getSupportedGranularities(PerformanceMonitorValue)72

String[] getSupportedOptionalOperations()72boolean isObservableObjectsSupported(String[])73

PerformanceMonitorBy-ClassesValue

makePerformanceMonitorByClassesValue()73

PerformanceMonitorBy-ObjectsValue

makePerformanceMonitorByObjectsValue()73

PerformanceMonitor-Value

makePerformanceMonitorValue(String)73

QueryValue makeQueryValue(String)74PerformanceMonitor-

ValueIterator

queryPerformanceMonitors(QueryValue, String[])74

void removePerformanceMonitor(PerformanceMonitorKey)75void resumePerformanceMonitor(PerformanceMonitorKey)75void suspendPerformanceMonitor(PerformanceMonitorKey)75

PerformanceMonitor-KeyResult[]

tryCreatePerformanceMonitors(PerformanceMonitorValue[])76

PerformanceMonitor-KeyResult[]

tryRemovePerformanceMonitors(PerformanceMonitorKey[])77

PerformanceMonitor-KeyResult[]

tryResumePerformanceMonitors(PerformanceMonitorKey[])77

PerformanceMonitor-KeyResult[]

trySuspendPerformanceMonitors(PerformanceMonitorKey[])78

Member Summary

64

Page 69: OSS Quality of Service API

PerformanceMonitorMethods

MAKE_PERFORMANCE_MONITOR_BY_CLASSES_VALUE

MAKE_PERFORMANCE_MONITOR_BY_CLASSES_VALUE

public static final java.lang.String MAKE_PERFORMANCE_MONITOR_BY_CLASSES_VALUE

Constant for the optional operation makePerformanceMonitorByClassesValue.

RESUME_PERFORMANCE_MONITOR

public static final java.lang.String RESUME_PERFORMANCE_MONITOR

Constant for the optional operation resumePerformanceMonitor.

SUSPEND_PERFORMANCE_MONITOR

public static final java.lang.String SUSPEND_PERFORMANCE_MONITOR

Constant for the optional operation suspendPerformanceMonitor.

TRY_CREATE_PERFORMANCE_MONITORS

public static final java.lang.String TRY_CREATE_PERFORMANCE_MONITORS

Constant for the optional operation tryCreatePerformanceMonitors.

TRY_REMOVE_PERFORMANCE_MONITORS

public static final java.lang.String TRY_REMOVE_PERFORMANCE_MONITORS

Constant for the optional operation tryRemovePerformanceMonitors.

TRY_RESUME_PERFORMANCE_MONITORS

public static final java.lang.String TRY_RESUME_PERFORMANCE_MONITORS

Constant for the optional operation resumePerformanceMonitors.

TRY_SUSPEND_PERFORMANCE_MONITORS

public static final java.lang.String TRY_SUSPEND_PERFORMANCE_MONITORS

Constant for the optional operation suspendPerformanceMonitors.

Methods

createPerformanceMonitor(PerformanceMonitorValue)

public PerformanceMonitorKey61 createPerformanceMonitor(PerformanceMonitorValue79

pmValue)

throws javax.ejb.CreateException, javax.ejb.DuplicateKeyException, java.rmi

.RemoteException

65

Page 70: OSS Quality of Service API

PerformanceMonitorMethods

createPerformanceMonitor(PerformanceMonitorValue)

ncesd by that

s mustill be

nt.

periods.ecified

rom theortingurementent data

rom the ore for-

from thepast andweeklyerval isnularity dailyely and

on dutytates are

that cre-y these

Creates a new measurement job.

On creation of a measurement job, all needed information has to be supplied in order to collect the requireddata from the selected resources as specified by the measurement job.

If the value object is of the type “PerformanceMonitorByObjectsValue” all observable object instamust be of the same object class. The attributes that should be monitored needs to be supporteobject class. If the attribute list is omitted all attributes will be monitored.

If the value object is of the type “PerformanceMonitorByClassesValue” all observable object classesupport the attributes that should be monitored. If the attribute list is omitted all common attributes wmonitored.

If the name of the measurement job is set it needs to be unique within the performance monitor age

The set of observable object instances and measurement attribute has a set of supported granularityThese granularity periods can be retrieved from the operation getSupportedGranularities(). The spgranularity period must be one of the supported granularity periods.

The specified report mode must be one of the supported reports modes, that can be retrieved fmethod getReportModes(). If the report mode is set to ReportMode.FILE_SINGEL and the repperiod has not been set, the reporting period will be the same as the granularity period of the measjob. If the granularity period is set to zero (0), then no reports will be generated and the measuremcan only be gathered on request from the client (getCurrentResultReport).

The specified report format must be one of the supported reports formats, that can be retrieved fmethod getReportFormats(). If the report mode is set to ReportMode.FILE_MULTIPLEEVENT_MULTIPLE the client can not set the report format. The result reports will be generated in thmat that the getCurrentReportFormat() returns.

The implementation shall support a measurement job start time (schedule) of up to at least 30 days measurement job creation date. It shall also validate that the start and end time is not a time in the that the end time is greater then start time. The recording intervals may repeat on a daily and/or basis and specify the time periods during which the measurement data is collected. The daily intdefined by start times and end times, which lie between 00.00 and 24.00 hours, aligned on graperiod boundaries. Thus the length of a daily interval will be a multiple of the granularity period. Theintervals can not be overlapped. If schedule is not specified the measurement job will start immediatrun indefinitely.

On creation of a measurement job the state is set to active and depending of the schedule it will beor off duty. If the state is set to suspended on creation the state will be set to suspended, other signored.

The value object that is passed to this method should have been created by calling the operations ates value object, such as createPerformanceMonitorValue(). If the value object is not created bmethods then it is implementation dependant if the create operation will work.

Parameters:pmValue - The input parameters to create a measurement job.

Returns: PerformanceMonitorKey The primary key of the created measurement job.

Throws:javax.ejb.CreateException - Is raised if the measurement job could not be create, this includes invalide parameter values and unsupported parameters.

javax.ejb.DuplicateKeyException - Is raised if an measurement job cannot be created because a measurement job with the same key already exists.

66

Page 71: OSS Quality of Service API

PerformanceMonitorMethods

getCurrentReportFormat()

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getCurrentReportFormat()

public ReportFormat93 getCurrentReportFormat()

throws java.rmi.RemoteException

Returns the current measurement result format that the performance monitor agent use.

This function can be used to determined the measurement result format that the performance monitor agentcurrently is using for result reports with many measurement jobs.

Returns: ReportFormat The current measurement result file format.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getCurrentResultReport(PerformanceMonitorKey, ReportFormat)

public java.lang.Object getCurrentResultReport(PerformanceMonitorKey61 pmKey,

ReportFormat93 format)

throws javax.oss.UnsupportedOperationException, javax.oss.pm.util.IllegalSt

ateException, java.rmi.RemoteException

Generate a result report of the current measurement result values.

An external system may for some reason be interested in the current values of the measurement job, inde-pendently of the scheduled data collection and subsequent reporting, e.g. for tracing the increment of someof the counters. To this aim, this method generates a result report of the current values of the measurementjob for the same network resources as defined in the measurement job. The current measurement result isreturned in a format, which is identical to scheduled result reports, which are generated by the measurementjob at the end of the granularity period.

This operation does not affect the measurement job, and may only be issued when the measurement job isactive and not suspended. If the measurement job is suspended, the method will raise the IllegalState-Exception exception.

If the report format type is set to XML or ASCII a string object will be returned.

Parameters:pmKey - Primary key of the measurement job.

format - Defines the report format of the current measurement values.

Returns: Object The measurement result of the current values of the measurement job for the same resources as defined in the measurement job.

Throws:UnsupportedOperationException244 - Is raised if this operation is not supported.

IllegalStateException167 - Is raised if the measurement job is suspended.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getEventDescriptor(String)

public BaseEventDescriptor46 getEventDescriptor(java.lang.String eventType)

throws java.rmi.RemoteException

67

Page 72: OSS Quality of Service API

PerformanceMonitorMethods

getEventTypes()

ilable-

r” will

ormance

vable

es.

Get the event descriptor of a event type.

For a event type of “PerformanceDataAvailableEvent” a event descriptor of “PerformanceDataAvaEventDescriptor” will be returned.

For a event typ of “PerformanceDataEvent” a event descriptor of “PerformanceDataEventDescriptobe returned, if supported.

Parameters:eventType - The name of the event type.

Returns: BaseEventDescriptor Event descriptor of a event type.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getEventTypes()

public java.lang.String[] getEventTypes()

throws java.rmi.RemoteException

Get the supported event types.

This operation gives information on which event types that are supported by this implementation.

This operation must return “PerformanceDataAvailableEvent”.

Returns: String[] List of event type names (interface name) that are supported.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getObservableAttributes(String)

public PerformanceAttributeDescriptor90[] getObservableAttributes(java.lang.String

observableObjectClassName)

throws java.rmi.RemoteException

Returns all measurement attributes that can be monitored in the observable object class, in the perfmonitoring agent.

Parameters:observableObjectClassName - The name of the observable object class.

Returns: PerformanceAttributeDescriptor[] List of all supported measurement attributes in the obserobject class.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getObservableObjectClasses()

public ObservableObjectClassIterator169 getObservableObjectClasses()

throws javax.ejb.CreateException, java.rmi.RemoteException

Returns all supported observed object classes in the performance monitoring agent.

Returns: ObservableObjectClassIterator Iterator that contains all supported observable object class

68

Page 73: OSS Quality of Service API

PerformanceMonitorMethods

getObservableObjects(String, String)

Throws:javax.ejb.CreateException - Is raised if the ObservableObjectClassIterator could not be create.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getObservableObjects(String, String)

public ObservableObjectIterator167 getObservableObjects(java.lang.String

observableObjectClassName, java.lang.String base)

throws javax.ejb.CreateException, java.rmi.RemoteException

Returns the supported observable object instances of the specific object class that are located below thespecified distinguished name in the performance monitoring agent.

If base is not specified then all instances of that class are returned.

Parameters:observableObjectClassName - The class name of the observable object instances to be found.

base - The distinguished name of the object where the search shall start from.

Returns: ObservableObjectIterator Iterator that contains all supported observable objects.

Throws:javax.ejb.CreateException - Is raised if the ObservableObjectIterator could not be create.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getPerformanceMonitor(PerformanceMonitorKey, String[])

public PerformanceMonitorValue79 getPerformanceMonitor(PerformanceMonitorKey61 pmKey,

java.lang.String[] attributes)

throws javax.oss.IllegalArgumentException, javax.ejb.ObjectNotFoundExceptio

n, java.rmi.RemoteException

Gets the attribute values of a specific measurement job.

The input parameters specify which attributes to get on the measurement job. If the attribute id list is nullthen all attribute values of the measurement jobs are returned.

If an attribute id is specified and this attribute id does not exist in a requested measurement job, the Illegal-ArgumentException will be raised.

Parameters:pmKey - Primary key of the measurement job.

attributes - A list of the attributes to be returned.

Returns: PerformanceMonitoringValue The attribute values for the requested measurement job.

Throws:IllegalArgumentException239 - Is raised when the input parameters are not valid.

javax.ejb.ObjectNotFoundException - Is raised if the measurement job is not found.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

69

Page 74: OSS Quality of Service API

PerformanceMonitorMethods

getPerformanceMonitors(PerformanceMonitorKey[], String[])

e gener-

getPerformanceMonitors(PerformanceMonitorKey[], String[])

public PerformanceMonitorValueIterator88 getPerformanceMonitors(PerformanceMonitorKey61[]

pmKey, java.lang.String[] attributes)

throws javax.ejb.CreateException, javax.ejb.FinderException, java.rmi.Remot

eException

Gets a list of attribute values of the specific measurement jobs.

The input parameters specify which attributes to get on the measurement jobs. If the attribute id list is nullthen all attribute values of the measurement jobs are returned. if the array of measurement job keys is nullthen all measurement jobs are returned.

If an attribute id is specified and this attribute does not exist in a requested measurement job, the measure-ment job will not be returned.

Parameters:pmKey - Primary keys of the measurement jobs.

attributes - A list of the attributes to be returned.

Returns: PerformanceMonitorValueIterator Iterator that contains attribute values for each requested measurement job.

Throws:javax.ejb.CreateException - Is raised if the PerformanceMonitorValueIterator could not be create.

javax.ejb.FinderException - Is raised if one or several measurement jobs where not found.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getPerformanceMonitorTypes()

public java.lang.String[] getPerformanceMonitorTypes()

throws java.rmi.RemoteException

Get the supported entity value types.

This operation gives information on which entity value types that are supported by this implementation.

This operation must return “PerformanceMonitorByObjectsValue” entity value type.

Returns: String[] List of entity value type names (interface name) that are supported.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getPerformanceReportInfo(PerformanceMonitorKey, Calendar)

public ReportInfoIterator97 getPerformanceReportInfo(PerformanceMonitorKey61 pmKey,

java.util.Calendar date)

throws javax.ejb.CreateException, java.rmi.RemoteException

Returns a list of available measurement result in the performance monitor agent.

During the recording intervals specified for measurement jobs, scheduled measurement reports arated at the end of each granularity period if the measurement jobs are not suspended.

70

Page 75: OSS Quality of Service API

PerformanceMonitorMethods

getQueryTypes()

rame-result

Measurement jobs that have the distribution set to file will add its measurement report to a measurementresult file. A list of reference to these generated measurement result files is returned, to allow retrieval ofthe measurement result files.

The storage capacity and duration as well as the method how the data may be deleted are implementationdependent.

If a performance monitor key is specified all result files containing that measurement job is returned. This isonly applicable if the performance monitor agent stores measurement reports per measurement job.

If the date is specified all result files created after that date is returned.

If some of the input parameters should not be specified a ’null’ value should be specified. If both paters are specified, a logical ’AND’ will be used to find the result files. If both parameters are null, all files will be returned.

Parameters:pmKey - The primary key of a measurement job, that shall be included in the reports.

date - Specifies the minimum creation date for the reports.

Returns: ReportInfoIterator Iterator that contains all measurement result files.

Throws:javax.ejb.CreateException - Is raised if the ReportInfoIterator could not be create.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getQueryTypes()

public java.lang.String[] getQueryTypes()

throws java.rmi.RemoteException

Get name of the supported query value types.

This operation gives information on supported query value types by this implementation.

This operation shall return “QueryPerformanceMonitorValue” and “QueryByDNValue”.

Returns: String[] List of query value type names (interface name) that are supported.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getReportFormats()

public ReportFormat93[] getReportFormats()

throws java.rmi.RemoteException

Returns the supported measurement result formats of the performance monitor agent.

Returns: ReportFormat[] List of supported measurement result formats.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getReportModes()

public int[] getReportModes()

throws java.rmi.RemoteException

71

Page 76: OSS Quality of Service API

PerformanceMonitorMethods

getSupportedGranularities(PerformanceMonitorValue)

are

Returns the supported report modes of the performance monitor agent.

The implementaion must support one of the file report modes, ReportMode.FILE_SINGEL or Report-Mode.FILE_MULTIPLE. The other report modes are optional. The report mode Report-Mode.NO_REPORT_MODE can not be returned by this operation.

Returns: int[] List of supported report modes.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

See Also: ReportMode99

getSupportedGranularities(PerformanceMonitorValue)

public int[] getSupportedGranularities(PerformanceMonitorValue79 pmValue)

throws javax.oss.IllegalArgumentException, java.rmi.RemoteException

Returns the supported granularity periods for the provided definition of a measurement job.

This operation returns a list of granularity periods that can be used when a measurement job shall be cre-ated, with the specified definition of the measurement job.

If no granularity period is supported for the specified instances and attributes, null shall be returned.

The returned granularity periods shall be a factor or a multiple of a hour.

Parameters:pmValue - The attributes of the measurement job except the granularity period.

Returns: int[] List of supported granularity periods.

Throws:IllegalArgumentException239 - Is raised when the input parameters are not valid.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getSupportedOptionalOperations()

public java.lang.String[] getSupportedOptionalOperations()

throws java.rmi.RemoteException

Get the supported optional operations.

Some of the operations on the performance monitor bean are optional. This operation gives information onwhich operations that are implemented and will not throw UnsupportedOperationException.

The following operation prototypes can be returned:

• PerformanceMonitorByClassesValue makePerformanceMonitorByClassesValue() • PerformanceMonitorKeyResult[] tryCreatePerformanceMonitors( PerformanceMonitorValue[] ) • PerformanceMonitorKeyResult[] tryRemovePerformanceMonitors( PerformanceMonitorKey[] ) • void suspendPerformanceMonitor(PerformanceMonitorKey ) • PerformanceMonitorKeyResult[] trySuspendPerformanceMonitors( PerformanceMonitorKey[] ) • void resumePerformanceMonitor(PerformanceMonitorKey ) • PerformanceMonitorKeyResult[] tryResumePerformanceMonitors( PerformanceMonitorKey[] ) • Object getCurrentResultReport( PerformanceMonitorKey , ReportFormat )

Returns: String[] List of operation names that will not throw UnsupportedOperationException, if theycalled.

72

Page 77: OSS Quality of Service API

PerformanceMonitorMethods

isObservableObjectsSupported(String[])

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

isObservableObjectsSupported(String[])

public boolean isObservableObjectsSupported(java.lang.String[] dnList)

throws java.rmi.RemoteException

Indicate if the observable objects are can be observed.

This operation can be used by the client to determine if this bean can create a measurement job with the listof observable objects.

Parameters:dnList - List of observable objects distinguished names.

Returns: boolean returns true if the list of observable objects can be observed, else false.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

makePerformanceMonitorByClassesValue()

public PerformanceMonitorByClassesValue55 makePerformanceMonitorByClassesValue()

throws java.rmi.RemoteException

Creates a new value object for a measurement job that monitor observable object classes.

Returns: PerformanceMonitorValueByObjects The created value object. The value object is empty.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

UnsupportedOperationException244

makePerformanceMonitorByObjectsValue()

public PerformanceMonitorByObjectsValue57 makePerformanceMonitorByObjectsValue()

throws java.rmi.RemoteException

Creates a new value object for a measurement job that monitor observable object instances.

Returns: PerformanceMonitorValueByObjects The created value object. The value object is empty.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

makePerformanceMonitorValue(String)

public PerformanceMonitorValue79 makePerformanceMonitorValue(java.lang.String value)

throws java.rmi.RemoteException

Creates a new value object for a measurement job.

Parameters:value - The name of one of the supported value types that are returned by getPerformanceMonitorTypes.

73

Page 78: OSS Quality of Service API

PerformanceMonitorMethods

makeQueryValue(String)

ance-

rovided

h, if theeasure-meter. If

the that are

tion.

e

Returns: PerformanceMonitorValue The created value object. The value object is empty.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

makeQueryValue(String)

public QueryValue244 makeQueryValue(java.lang.String type)

throws java.rmi.RemoteException

Creates a query value instance for the query type.

If the input parameter is equal to “QueryPerformanceMonitorValue” a instance of the QueryPerformMonitorValue interface shall be returned.

Parameters:type - The name of one of the supported query types that are returned by getQueryTypes().

Returns: QueryValue The created query instance. The query instance is empty.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

queryPerformanceMonitors(QueryValue, String[])

public PerformanceMonitorValueIterator88 queryPerformanceMonitors(QueryValue244 query,

java.lang.String[] attrNames)

throws javax.oss.IllegalArgumentException, javax.ejb.CreateException, java.

rmi.RemoteException

Queries for multiple measurement jobs using a query value instance.

The operation returns a list of attribute values of the specific measurement jobs that match the pquery.

The first input parameter specifies a query value instance that each measurement jobs must matcmeasurement jobs attribute values shall be returned. If the firts input parameter is null, then all mment jobs are returned. The attribute values to be returned are specified by the second input parathe attribute list is null then all attribute values of the measurement jobs are returned.

If the first input parameter is a “QueryPerformanceMonitorValue” or a “QueryByDNValue”, thenattribute names, in the second input parameter, must be an attribute of the measurment job typeretuned by the operaton QueryPerformanceMonitorValue::getPerformanceMonitorValueType().

This operation does only support the query types that are returned from the getQueryTypes() opera

Parameters:query - Search attributes with values to be match in each measurement job.

attributes - A list of the attributes to be returned.

Returns: PerformanceMonitorValueIterator A iterator of measurement job values.

Throws:IllegalArgumentException239 - Is raised if the query type is not supported.

javax.ejb.CreateException - Is raised if the PerformanceMonitorValueIterator could not bcreate.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

74

Page 79: OSS Quality of Service API

PerformanceMonitorMethods

removePerformanceMonitor(PerformanceMonitorKey)

removePerformanceMonitor(PerformanceMonitorKey)

public void removePerformanceMonitor(PerformanceMonitorKey61 pmKey)

throws javax.ejb.ObjectNotFoundException, javax.ejb.RemoveException, java.r

mi.RemoteException

Remove measurement job.

The measurement process associated with the measurement job is stopped, all allocated resources are freed.The stored measurement result reports, that are related to the measurement job shall not be removed. Themeasurement result reports should be removed only when the storage duration of the stored measurementresult reports expires.

A measurement job is automatically removed by the system when it reaches the monitoring end-time, andall scheduled or explicitly requested measurement reports have been generated.

Parameters:pmKey - Primary key of the measurement job to be removed.

Throws:javax.ejb.ObjectNotFoundException - Is raised if the measurement job was not found.

javax.ejb.RemoveException - Is raied if the measurement job could not be removed.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

resumePerformanceMonitor(PerformanceMonitorKey)

public void resumePerformanceMonitor(PerformanceMonitorKey61 pmKey)

throws javax.oss.UnsupportedOperationException, javax.ejb.ObjectNotFoundExc

eption, java.rmi.RemoteException

Re-enables the measurement job to collect measurement data.

The measurement job in the request starts to collect measurement data at the next granularity period withinthe measurement schedule.

This implies that the measurement job definition, which are remained in the system, are used when themeasurement job is resumed.

If the measurement job is already active the measurement will remain active.

Parameters:pmKey - Primary key of the measurement job to be resumed.

Throws:UnsupportedOperationException244 - Is raised if this operation is not supported.

javax.ejb.ObjectNotFoundException - Is raised if the measurement job was not found.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

suspendPerformanceMonitor(PerformanceMonitorKey)

public void suspendPerformanceMonitor(PerformanceMonitorKey61 pmKey)

throws javax.oss.UnsupportedOperationException, javax.ejb.ObjectNotFoundExc

eption, java.rmi.RemoteException

Inhibits the measurement job from collection of measurement data.

75

Page 80: OSS Quality of Service API

PerformanceMonitorMethods

tryCreatePerformanceMonitors(PerformanceMonitorValue[])

This function can be used to temporarily discard the collection of measurement data (e.g. in case of systemoverload or congestion, measurement results not used,...). The measurement job can be suspended at anytime. This implies that the measurement job definitions remains in the system, but that no measurementgathering activities are performed for this monitoring. When the measurement job is resumed, measurementdata collection is started again at the next granularity period within the measurement schedule.

The resume function will re-enable measurement data collection according to the measurement job sched-ule.

Requesting the current measurement result values of a measurement job is NOT possible when the mea-surement job is suspended.

No scheduled measurement reports are generated when the measurement job is suspended.

If the measurement job is already suspended the measurement will remain suspended.

Parameters:pmKey - Primary keys of the measurement job to be suspended.

Throws:UnsupportedOperationException244 - Is raised if this operation is not supported.

javax.ejb.ObjectNotFoundException - Is raised if the measurement job was not found.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

tryCreatePerformanceMonitors(PerformanceMonitorValue[])

public PerformanceMonitorKeyResult62[]

tryCreatePerformanceMonitors(PerformanceMonitorValue79[] pmValues)

throws javax.oss.UnsupportedOperationException, javax.ejb.CreateException,

javax.ejb.DuplicateKeyException, java.rmi.RemoteException

Try to create measurement jobs.

This operation try to create a number of measurement jobs. The operation has a best effort behavior andreturn a list results that indicate if the operation was successful or not on each measurement job.

The measurement jobs that should be created shall be done in accordance with the behavior of the create-PerformanceMonitor(...), which creates a single measurement job.

Parameters:pmValues - The input parameters to create measurement jobs.

Returns: PerformanceMonitorResultKey[] List of result information of the measurement jobs.

Throws:UnsupportedOperationException244 - Is raised if this operation is not supported.

javax.ejb.CreateException - Is raised if the measurement jobs could not be create, this includes invalide parameter values and unsupported parameters.

javax.ejb.DuplicateKeyException - Is raised if an measurement job cannot be created because a measurement job with the same key already exists.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

76

Page 81: OSS Quality of Service API

PerformanceMonitorMethods

tryRemovePerformanceMonitors(PerformanceMonitorKey[])

tryRemovePerformanceMonitors(PerformanceMonitorKey[])

public PerformanceMonitorKeyResult62[]

tryRemovePerformanceMonitors(PerformanceMonitorKey61[] pmKeys)

throws javax.oss.UnsupportedOperationException, javax.ejb.FinderException,

javax.ejb.RemoveException, java.rmi.RemoteException

Try to remove measurement jobs.

This operation try to remove a number of measurement jobs. The operation has a best effort behavior andreturn a list results that indicate if the operation was successful or not on each measurement job.

The measurement jobs that should be removed shall be done in accordance with the behavior of theremovePerformanceMonitor(...), which removes a single measurement job.

Parameters:pmKeys - List of primary keys of the measurement jobs to delete.

Returns: PerformanceMonitorResultKey[] List of measurement jobs that could not be removed else null is returned.

Throws:UnsupportedOperationException244 - Is raised if this operation is not supported.

javax.ejb.FinderException - Is raised if the measurement jobs was not found.

javax.ejb.RemoveException - Is raied if the measurement jobs could not be removed.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

tryResumePerformanceMonitors(PerformanceMonitorKey[])

public PerformanceMonitorKeyResult62[]

tryResumePerformanceMonitors(PerformanceMonitorKey61[] pmKeys)

throws javax.oss.UnsupportedOperationException, javax.ejb.FinderException,

java.rmi.RemoteException

Try to re-enables the measurement jobs to collect measurement data.

This operation try to re-enable a number of measurement jobs. The operation has a best effort behavior andreturn a list results that indicate if the operation was successful or not on each measurement job.

The measurement jobs that should be re-enable shall be done in accordance with the behavior of theresumePerformanceMonitor(...), which resume a single measurement job.

Each measurement job in the request starts to collect measurement data at the next granularity period withinthe measurement schedule.

This implies that the measurement job definition, which are remained in the system, are used when themeasurement job is resumed.

If the measurement jobs are already active the measurement will remain active.

Parameters:pmKeys - List of primary keys of the measurement jobs to be resumed.

Returns: PerformanceMonitorKeyResult[] List of measurement jobs that could not be resumed else null is returned.

Throws:UnsupportedOperationException244 - Is raised if this operation is not supported.

77

Page 82: OSS Quality of Service API

PerformanceMonitorState

trySuspendPerformanceMonitors(PerformanceMonitorKey[])

javax.ejb.FinderException - Is raised if the measurement jobs was not found.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

trySuspendPerformanceMonitors(PerformanceMonitorKey[])

public PerformanceMonitorKeyResult62[]

trySuspendPerformanceMonitors(PerformanceMonitorKey61[] pmKeys)

throws javax.oss.UnsupportedOperationException, javax.ejb.FinderException,

java.rmi.RemoteException

Try to inhibit measurement jobs from collection of measurement data.

This operation try to inhibit a number of measurement jobs. The operation has a best effort behavior andreturn a list results that indicate if the operation was successful or not on each measurement job.

The measurement jobs that should be inhibit shall be done in accordance with the behavior of the suspend-PerformanceMonitor(...), which removes a single measurement job.

Parameters:pmKeys - List of primary keys of the measurement jobs to be suspended.

Returns: PerformanceMonitorResultKey[] List of measurement jobs that could not be suspended else null is returned.

Throws:UnsupportedOperationException244 - Is raised if this operation is not supported.

javax.ejb.FinderException - Is raised if the measurement jobs was not found.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

PerformanceMonitorStateSyntaxpublic interface PerformanceMonitorState

DescriptionDefines the state constants for performance monitor.

The measurement job can have several states: Active and on duty, Active but of duty and suspended.

Author: Stefan Ýberg

Version: 0.1, 2001-02-06

See Also: PerformanceMonitorValue79

Member Summary

Fieldsint ACTIVE_OFF_DUTY79

78

Page 83: OSS Quality of Service API

PerformanceMonitorValue

ACTIVE_OFF_DUTY

rement

Fields

ACTIVE_OFF_DUTY

public static final int ACTIVE_OFF_DUTY

Constant for a measurement job that is active and off duty.

ACTIVE_ON_DUTY

public static final int ACTIVE_ON_DUTY

Constant for a measurement job that is active and on duty.

SUSPENDED

public static final int SUSPENDED

Constant for a measurement job that is suspended.

PerformanceMonitorValueSyntaxpublic interface PerformanceMonitorValue extends java.lang.Cloneable, ManagedEntityValue241

All Known Subinterfaces: PerformanceMonitorByClassesValue55, PerformanceMonitorByObjectsValue57

All Superinterfaces: java.lang.Cloneable, ManagedEntityValue241, java.io.Serializable

DescriptionThis interface is the base value representation of a measurement job.

The PerformanceMonitor manages measurement jobs. A client can create and retrieve measurement jobs indi-rectly by using the methods of an PerformanceMonitor.

A measurement job shall include:

• a granularity specifying the rate at which performance data is read (scanned). • a reporting mode indicating the manner in which clients are notified of the generation of a measu

results. • a report format indicating the format of the result reports to be generated. • a schedule specifying the schedule of the monitoring activity.

int ACTIVE_ON_DUTY79int SUSPENDED79

Member Summary

79

Page 84: OSS Quality of Service API

PerformanceMonitorValue

SUSPENDED

ata

asure- system asure-lient fre-lies.

make a cifies

port-ed

The m shall f no start active the sus-or more time

interval, record- run week. The imple-

he fol-

• a key that identify the measurement job. • a state of the measurement job.

The granularity period is the time between the initiation of two successive gatherings of measurement dwithin the timeframe specified in the scheduling attributes.

The reporting mode is used to specify the reporting method of the measurement result reports of the mement job. The reporting mode can be either file or event or both. If the reporting mode is set to event thewill emit an event that carries the measurement result reports. If the reporting mode is set to file, the mement job will capture the measurement result reports into a data storage and then emit an event to the cabout the availability of the data. The frequency of this event is determined by the data storage creationquency and can not be set by the client. If the reporting mode is set to both file and event both ways appWhen a client receives an event of data availability, the client can retrieve the data, by using the URL to connection to the system. If reporting mode is set to ReportMode.FILE_SINGEL the reporting period spehow often measurement result report will be generated.

The report format defines the format of the result reports to be generated. If the report mode is set to ReMode.FILE_MULTIPLE or EVENT_MULTIPLE the client should not set the report format, it will be assignby the server.

The measurement schedule specifies the time frames during which the measurement job will be active.measurement job is active as soon as the start time - if supplied in the schedule - is reached. The systesupport a measurement job start time of up to at least 30 days from the measurement job creation date. Itime is provided, the measurement job shall become active immediately. The measurement job remainsuntil the stop time - if supplied in the schedule - is reached. If no measurement job stop time is specifiedmeasurement job will run indefinitely and can only be stopped by system intervention, i.e. by deleting orpending the measurement job. The time frame defined by the measurement schedule may contain one recording intervals. These recording intervals may repeat on a daily and/or weekly basis and specify theperiods during which the measurement data is collected. The start time and end time define a recording which lie between 00.00 and 24.00 hours, aligned on granularity period boundaries. Thus the length of aing interval will be a multiple of the granularity period. If daily interval is omitted, the measurement job willcontinuously through the day. If weekly schedule is omitted the measurement job will run all days of the Alternatively the weekly schedule will indicate which days of the week the measurement job will be run. timer-synchronization between the client and the server is not part of this interface and is left over to thementers.

The measurement job can have several states: Active and on duty, Active but of duty and suspended. Tlowing shows how the states are changed in accordance to the schedule.

(A) Duration (A schedule represents by startTime and stopTime)

State Transition table (1), the startTime and stopTime is set

---------------------++------------------------+Time Stream || Operation |

|| ---suspend()--> ||| <--resume()---- |

---------------------++-----------+------------+1. before startTime || off-duty | suspended |---------------------++-----------+------------+<> startTime2. within schedule || on-duty | suspended |---------------------++-----------+------------+<> stopTime

State Transition table (2), the startTime is not set and the endTime is set.

80

Page 85: OSS Quality of Service API

PerformanceMonitorValue

SUSPENDED

---------------------++------------------------+Time Stream || Operation |

|| ---suspend()--> ||| <--resume()---- |

---------------------++-----------+------------+<> startTime not set1. within schedule || on-duty | suspended |---------------------++-----------+------------+<> stopTime

If startTime is not set means that monitoring will start immediately.

State Transition table (3), the startTime is set and the endTime is not set.

---------------------++------------------------+Time Stream || Operation |

|| ---suspend()--> ||| <--resume()---- |

---------------------++-----------+------------+1. before startTime || off-duty | suspended |---------------------++-----------+------------+<> startTime2. within schedule || on-duty | suspended |---------------------++-----------+------------+<> forever

(B) Daily Scheduling (Represents by HourSchedule)

The daily scheduling is set to have 4 elements, two start times and two stop times.

State Transition table (4)

---------------------++------------------------+Time Stream || Operation |

|| ---suspend()--> ||| <--resume()---- |

---------------------++-----------+------------+1. off schedule || off-duty | suspended |---------------------++-----------+------------+<> 1st element2. within schedule || on-duty | suspended |---------------------++-----------+------------+<> 2nd element3. off schedule || off-duty | suspended |---------------------++-----------+------------+<> 3rd element4. within schedule || on-duty | suspended |---------------------++-----------+------------+<> final element5. It will be back to 1. because of day-line crossing.

(C) Weekly Scheduling (Represents by WeeklySchedule)

The weekly scheduling is set to Monday and Friday and the daily scheduling is set to have 4 elements, as above.

State Transition table (5)

81

Page 86: OSS Quality of Service API

PerformanceMonitorValue

SUSPENDED

---------------------++------------------------+Time Stream || Operation |

|| ---suspend()--> ||| <--resume()---- |

---------------------++-----------+------------+1. off schedule || off-duty | suspended |

on Sunday || | |---------------------++-----------+------------+2. off schedule || off-duty | suspended |

on Monday || | |---------------------++-----------+------------+<> 1st element3. within schedule || on-duty | suspended |---------------------++-----------+------------+<> 2nd element4. off schedule || off-duty | suspended |---------------------++-----------+------------+<> 3rd element5. within schedule || on-duty | suspended |---------------------++-----------+------------+<> final element6. off schedule || off-duty | suspended |

on Monday || | |---------------------++-----------+------------+7. off schedule || off-duty | suspended |on Tuesday-Thursday || | |

---------------------++-----------+------------+8. off schedule || off-duty | suspended |

on Friday || | |---------------------++-----------+------------+<> 1st element9. within schedule || on-duty | suspended |---------------------++-----------+------------+<> 2nd element10. off schedule || off-duty | suspended |---------------------++-----------+------------+<> 3rd element11. within schedule || on-duty | suspended |---------------------++-----------+------------+<> final element12. off schedule || off-duty | suspended |

on Friday || | |---------------------++-----------+------------+13. off schedule || off-duty | suspended |on Saturday || | |

---------------------++-----------+------------+14. It will be back to 1. because of weekly-line crossing.

For example the PerformanceMonitor interface support an operations to retrieve all suspended measurement jobs and to get the all attributes of the measurement jobs. Code on the client side would look like this:

PerformanceMonitorValueIterator pmvIterator;PerformanceMonitorValue[] pmValues;pmsession = & // getting a reference to a performance monitor bean.//retrieve all suspended measurement jobs//and provide at most 10 values in the initial set.QueryPerformanceMonitorValue qpmv = pmsession.makeQueryValue(QueryPerformanceMoni

torValue.QUERY_TYPE );qpmv.setState( PerformanceMonitorState.SUSPENDED );qpmv.setPerformanceMonitorValueType( PerformanceMonitorValue.BASE_VALUE_TYPE );pmvIterator = pmsession.queryPerformanceMonitors(qpmv, null);//retrieve the 10 initial measurement jobspmValues = pmvIterator.getNext( 10 );while(pmValues.length) {

for( int I=0; I < pmValues.length; I++) {// Print the name measurement jobs.System.out.println( pmValues[I].getMeasurementName() );// Do some more...

}pmValues = pmvIterator.getNext( 10 );

}pmvIterator.remove();

Author: Stefan Ýberg

82

Page 87: OSS Quality of Service API

PerformanceMonitorValue

BASE_VALUE_TYPE

Version: 0.2, 2001-01-12

See Also: PerformanceMonitor53

Fields

BASE_VALUE_TYPE

public static final java.lang.String BASE_VALUE_TYPE

Constant that defines the base value type.

GRANULARITY_PERIOD

public static final java.lang.String GRANULARITY_PERIOD

Constant for attribute granularity period.

Member Summary

FieldsString BASE_VALUE_TYPE83String GRANULARITY_PERIOD83String MEASUREMENT_NAME84String REPORT_BY_EVENT84String REPORT_BY_FILE84String REPORT_FORMAT84String REPORTING_PERIOD84String SCHEDULE84String STATE84

Methodsint getGranularityPeriod()84

String getMeasurementName()85PerformanceMonitorKey getPerformanceMonitorKey()85

int getReportByEvent()85int getReportByFile()85

ReportFormat getReportFormat()85int getReportPeriod()85

Schedule getSchedule()85int getState()86

boolean isScheduleSet()86void setGranularityPeriod(int)86void setMeasurementName(String)86void setReportByEvent(int)86void setReportByFile(int)87void setReportFormat(ReportFormat)87void setReportPeriod(int)87void setSchedule(Schedule)88

83

Page 88: OSS Quality of Service API

PerformanceMonitorValue

MEASUREMENT_NAME

MEASUREMENT_NAME

public static final java.lang.String MEASUREMENT_NAME

Constant for attribute measurement name.

REPORT_BY_EVENT

public static final java.lang.String REPORT_BY_EVENT

Constant for attribute report by event.

REPORT_BY_FILE

public static final java.lang.String REPORT_BY_FILE

Constant for attribute report by file.

REPORT_FORMAT

public static final java.lang.String REPORT_FORMAT

Constant for attribute report format.

REPORTING_PERIOD

public static final java.lang.String REPORTING_PERIOD

Constant for attribute report period.

SCHEDULE

public static final java.lang.String SCHEDULE

Constant for attribute schedule.

STATE

public static final java.lang.String STATE

Constant for attribute performance monitor state.

Methods

getGranularityPeriod()

public int getGranularityPeriod()

Gets the granularity period of the measurement job.

Returns: int The granularity period in seconds.

84

Page 89: OSS Quality of Service API

PerformanceMonitorValue

getMeasurementName()

getMeasurementName()

public java.lang.String getMeasurementName()

Returns the name of the measurement job.

Returns: String The name of the measurement job.

getPerformanceMonitorKey()

public PerformanceMonitorKey61 getPerformanceMonitorKey()

Gets the identification key of the measurement job.

Returns: PerformanceMonitorKey The primary key of the measurement job.

getReportByEvent()

public int getReportByEvent()

Gets the event reporting mode.

Returns: int Returns the event reporting mode or ReportMode.NO_REPORT_MODE if event report mode is not set.

See Also: ReportMode99

getReportByFile()

public int getReportByFile()

Gets the file reporting mode.

Returns: int Returns the file reporting mode or ReportMode.NO_REPORT_MODE if file report mode is not set.

See Also: ReportMode99

getReportFormat()

public ReportFormat93 getReportFormat()

Gets the report format of the measurement job.

Returns: ReportFormat The report format of the measurement job.

getReportPeriod()

public int getReportPeriod()

Returns the reporting period for result report of the measurement job.

Returns: int Reporting period in number of granularity periods.

getSchedule()

public Schedule171 getSchedule()

85

Page 90: OSS Quality of Service API

PerformanceMonitorValue

getState()

Returns the schedule of the measurement job.

Returns: Date Schedule of the measurement job.

getState()

public int getState()

Gets the state of the measurement job.

Returns: int The state of the measurement job.

See Also: PerformanceMonitorState78

isScheduleSet()

public boolean isScheduleSet()

Indicate if the measurement job has a schedule.

Returns: boolean Returns true if the measurement job has a schedule, else it returns false.

setGranularityPeriod(int)

public void setGranularityPeriod(int granularityPeriod)

Sets the granularity period for the measurement job.

The granularity period is the time between the initiation of two successive gatherings of measurement data,within the timeframe specified in the measurement scheduling. Examples of granularity period can be 5minutes, 15 minutes, 30 minutes, 1 hour. The granularity period of 5 minutes is used in most cases, but forsome measurements it may only make sense to collect data in a larger granularity period.

The granularity period will be validated when the value object is passed to the performance monitor bean.

The granularity period is specified in seconds.

Parameters:granularityPeriod - The granularity period, in seconds, of the measurement job.

setMeasurementName(String)

public void setMeasurementName(java.lang.String name)

Sets the name of the measurement job.

The measurement name will be validated when the value object is passed to the performance monitor bean.It is optional to set the name.

Parameters:name - The name of the measurement job.

setReportByEvent(int)

public void setReportByEvent(int reportMode)

throws IllegalArgumentException

Sets the event reporting mode.

86

Page 91: OSS Quality of Service API

PerformanceMonitorValue

setReportByFile(int)

If the reporting mode is set to event the system will emit a event that carries the measurement result reports.

Parameters:reportMode - The event reporting mode.

Throws:IllegalArgumentException - Is raised if the reporting mode is not a event reporting mode.

See Also: ReportMode99

setReportByFile(int)

public void setReportByFile(int reportMode)

throws IllegalArgumentException

Sets the file reporting mode.

If the reporting mode is set to file, the measurement job will capture the measurement result reports into adata storage and then emit an event to the client about the availability of the data. The frequency of thisevent is determined by the data storage creation frequency and can not be set by the client. When the clientreceives the event of data availability, the client can retrieve the data, by using the URL to make a connec-tion to the system.

Parameters:reportMode - The file reporting mode.

Throws:IllegalArgumentException - Is raised if the reporting mode is not a file reporting mode.

See Also: ReportMode99

setReportFormat(ReportFormat)

public void setReportFormat(ReportFormat93 format)

Sets the report format of the measurement job.

The report format defines the format of the result reports to be generated. If the report mode is set toReportMode.FILE_MULTIPLE or EVENT_MULTIPLE the client should not set the report format.

Parameters:format - Report format of the measurement job.

setReportPeriod(int)

public void setReportPeriod(int period)

throws IllegalArgumentException

Sets the reporting period of result report of the measurement job.

The reporting period specifies how often measurement result report will be generated and is valid if report-ing mode is set to ReportMode.FILE_SINGEL.

With the reporting mode set to ReportMode.FILE_SINGEL, the reporting period is the number of granular-ity periods between the initiation of two successive result report generation. The result report shall includeall data that have been collected since the last result report generation.

87

Page 92: OSS Quality of Service API

PerformanceMonitorValueIterator

setSchedule(Schedule)

If the report period is not set, a value equal to the granularity period of the measurement job is used. Ifreporting period is set to zero and report mode is set only to ReportMode.FILE_SINGEL no reports will begenerated.

Parameters:period - Reporting period in number of granularity periods.

Throws:IllegalArgumentException - Is raised if report period is less then zero (0).

See Also: ReportMode99

setSchedule(Schedule)

public void setSchedule(Schedule171 schedule)

Sets the schedule of the measurement job.

The measurement schedule specifies the time frames during which the measurement job will be active. Themeasurement job is active as soon as the start time - if set - is reached. If no start time is provided, the mea-surement job shall become active immediately. The measurement job remains active until the stop time - ifset - is reached. If no stop time is specified the measurement job will run indefinitely and can only bestopped by system intervention, i.e. by deleting or suspending the measurement job. The time framedefined by the measurement schedule may contain one or more recording intervals. These recording inter-vals may repeat on weekly basis. If weekly schedule is omitted the measurement job will run all days of theweek. Alternatively the weekly schedule will indicate which days of the week the measurement job will berun. The daily schedule of the measurement schedule specifies the time frames during the day which themeasurement job will be active. The time frame defined by the measurement schedule may contain one ormore recording intervals. These recording intervals specify the time periods during which the measurementdata is collected. The start time and end time define a recording interval, which lie between 00.00 and 24.00hours, aligned on granularity period boundaries. Thus the length of a recording interval will be a multipleof the granularity period. If daily interval is omitted, the measurement job will run continuously through theday.

Parameters:schedule - Schedule of the measurement job.

PerformanceMonitorValueIteratorSyntaxpublic interface PerformanceMonitorValueIterator extends java.io.Serializable

All Superinterfaces: java.io.Serializable

DescriptionThis interface manages retrieval of multiple measurement jobs.

Because the query operation could potentially return large amounts of data, the iterator design pattern is used for returning the results. An iterator is an object that is created to contain the results of an operation. The client receives a reference to the iterator as part of the information returned by the query operation. The client then invokes operations on the iterator to receive batches of results in sizes determined by the client. The iterator keeps track of how far through the results the client has progressed.

88

Page 93: OSS Quality of Service API

PerformanceMonitorValueIterator

getNext(int)

tion can

umber

The semantic of the iterator is that it is returning a snapshot of the data matching the query expression at the moment the query was performed. If the underlying data are modified while the iteration is in progress, it will not affect the behavior of the iterator or the data values of the iterator.

For example the PerformanceMonitor interface support an operation to retrieve all supported measurement jobs with a specific state. Code on the client side would look like this:

PerformanceMonitorValueIterator pmvIterator;PerformanceMonitorValue[] pmvs; // Performance monitor listpmsession = & // getting a reference to a performance monitor bean.//retrieve all suspended measurement jobs//and provide at most 10 values in the initial set.pmvIterator = pmsession.getPerformanceMonitors(null, PerformanceMonitorState.SUSP

ENDED, null);//retrieve the 10 initial measurement jobspmvs = pmvIterator.getNext( 10 );while(pmvs.length) {

for( int I=0; I < pmvs.length; I++) {// Resume the measurement jobs.pmsession.resume( pmvs[I].getPerformanceMonitorKey() );

}pmvs = pmvIterator.getNext( 10 );

}pmvIterator.remove();

Author: Stefan Ýberg

Version: 0.3, 2001-02-06

Methods

getNext(int)

public PerformanceMonitorValue79[] getNext(int how_many)

throws java.rmi.RemoteException

Returns a list of measurement jobs.

The function takes one argument that specifies the most number of items to return. The implementadecide to return less or the requested number of items.

If zero is specified and empty list is returned.

If the iteration is empty or has reached then end, null is returned.

If the argument is greater than the number of item in the iterator then all or implementation decided nof items are returned.

Member Summary

MethodsPerformanceMonitor-

Value[]

getNext(int)89

void remove()90

89

Page 94: OSS Quality of Service API

PerformanceAttributeDescriptor

remove()

riod of ach mea-collected

ates);

If the agreement plus the cursor of the iterator is greater than the number of item in the iterator, all or imple-mentation decided number of items from the cursor to the end is returned.

Parameters:how_many - Maximum of items to return, the implementation can decide to return less.

Returns: PerformanceMonitorValue[] List of measurement jobs.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

remove()

public void remove()

throws java.rmi.RemoteException, javax.ejb.RemoveException

Remove the iterator.

When the client has finished iterating through the collection, he shall call this operation to allow resourcesto be freed.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

javax.ejb.RemoveException - Is raised if the implementation is an EJB and removal of the EJB could not be done.

PerformanceAttributeDescriptorSyntaxpublic interface PerformanceAttributeDescriptor extends java.io.Serializable,

java.lang.Cloneable

All Superinterfaces: java.lang.Cloneable, java.io.Serializable

DescriptionRepresent a measurement attribute that can be monitored in the observable object class.

The measurement attribute name is short form of the measurement name and it is used to identify the measure-ment attribute in the measurement result reports.

The type of the measurement can be:

• Integer • Real • String

Each measurement job will be collecting result data at a particular frequency, known as the granularity pethe measurement. At the end of the granularity period a scheduled result report shall be generated for esurement job that is actively collecting performance measurement data. The measurement data can be in a number of ways:

• cumulative incremental counters triggered by the occurrence of the measured event; • status inspection (i.e. a mechanism for high frequency sampling of internal counters at pre-defined r• gauges (i.e. high tide mark, low tide mark); • discrete event registration, where data related to a particular event is captured.

90

Page 95: OSS Quality of Service API

PerformanceAttributeDescriptor

CUMULATIVE_COUNTER

lue (usu-

e valueistrationesult at

• time ticks, ???

Author: Stefan Ýberg

Version: 0.3, 2001-03-06

Fields

CUMULATIVE_COUNTER

public static final java.lang.String CUMULATIVE_COUNTER

The node maintains a running count of the event being counted. The counter is reset to a defined vaally “0”) at the beginning of the granularity period.

DISCRETE_EVENT_REGISTRATION

public static final java.lang.String DISCRETE_EVENT_REGISTRATION

This is a measurement of a specified event where every Nth event would be taken into account. Thof N is dependent on the frequency of occurrence of the event being measured. Discrete event regmeasurements shall be reset at the beginning of the granularity period and will only have a valid rthe end of the granularity period.

GAUGE

public static final java.lang.String GAUGE

Member Summary

FieldsString CUMULATIVE_COUNTER91String DISCRETE_EVENT_REGISTRATION91String GAUGE91

int INTEGER92int REAL92

String STATUS_INSPECTION92int STRING92

String TIME_TICKS92

MethodsString getCollectionMethod()92String getName()93

int getType()93boolean isArray()93

void setName(String)93void setType(int)93

91

Page 96: OSS Quality of Service API

PerformanceAttributeDescriptor

INTEGER

Gauges represent dynamic variables that may change in either direction. Gauges can be integer or real val-ued. If a gauge is required to produce low and high tide marks for a granularity period (e.g. minimum andmaximum call duration), then it shall be reinitialized at the beginning of the granularity period. If a gauge isrequired to produce a consecutive readout over multiple granularity periods (e.g. cabinet temperature), thenit shall only be reinitialized at the start of a recording interval.

INTEGER

public static final int INTEGER

Constant that indicates if the attribute is of integer type.

REAL

public static final int REAL

Constant that indicates if the attribute is of real type.

STATUS_INSPECTION

public static final java.lang.String STATUS_INSPECTION

Nodes maintain internal counts for resource management purposes. These counts are read at a predeter-mined rate, the rate is usually based upon the expected rate of change of the count value. Status inspectionmeasurements shall be reset at the beginning of the granularity period and will only have a valid result atthe end of the granularity period.

STRING

public static final int STRING

Constant that indicates if the attribute is of string type.

TIME_TICKS

public static final java.lang.String TIME_TICKS

???

Methods

getCollectionMethod()

public java.lang.String getCollectionMethod()

Returns the collection method.

Returns: String Returns the collection method.

92

Page 97: OSS Quality of Service API

ReportFormat

getName()

getName()

public java.lang.String getName()

Returns the performance attribute name.

Returns: String The name of the attribute.

getType()

public int getType()

Returns the type of attribute.

Returns: int Returns the id of type.

isArray()

public boolean isArray()

Checks if the attribute is an array.

Returns: boolean Returns true if the attribute is an array.

setName(String)

public void setName(java.lang.String name)

Sets the performance attribute name.

Parameters:name - The name of the attribute.

setType(int)

public void setType(int type)

Sets the type of attribute.

Valid values are:

• PerformanceAttributeDescriptor.INTEGER • PerformanceAttributeDescriptor.REAL • PerformanceAttributeDescriptor.STRING

Parameters:type - The id of type.

ReportFormatSyntaxpublic interface ReportFormat extends java.io.Serializable, java.lang.Cloneable

All Superinterfaces: java.lang.Cloneable, java.io.Serializable

93

Page 98: OSS Quality of Service API

ReportFormat

ASCII

DescriptionThis interface represent the format of the measurements reports.

Author: Stefan Ýberg

Version: 0.4, 2000-03-06

Fields

ASCII

public static final int ASCII

Constant that indicate if the report format is of ASCII type.

ASN1

public static final int ASN1

Constant that indicate if the report format is of ASN1 type.

BINARY

public static final int BINARY

Constant that indicate if the report format is of BINARY type.

XML

public static final int XML

Constant that indicate if the report format is of XML type.

Member Summary

Fieldsint ASCII94int ASN194int BINARY94int XML94

MethodsString getOwner()95String getSpecification()95String getTechnology()95

int getType()95String getVersion()96

94

Page 99: OSS Quality of Service API

ReportFormat

getOwner()

at. Forata-

erfor-

at. Fors.

s.

Methods

getOwner()

public java.lang.String getOwner()

Get the vendor name or the organization that have defined the format.

Returns the vendor name or organization name of the report format. For example: if the report format is3GPP XML or ANS1 format this operation should return “3GPP”.

Returns: String The name of the Owner of the report format.

getSpecification()

public java.lang.String getSpecification()

Returns information about the specification of the report format.

This operation shall allow the client to get more detailed information on how to parse the report formexample this operation should return “DOCTYPE MeasDataCollection SYSTEM MeasDCollection.dtd” if the report format is according to 3GPP XML format, see 3GPP TS 32.104: “3G Pmance Management (PM)”, R99

If no applicable information is available, then an empty string should be returned.

Returns: String Information on how to parse the report format.

getTechnology()

public java.lang.String getTechnology()

Gets the technology area that this report format is used for.

This operation indicates the technology area of the nodes in a measurement report of this report formexample the operation should return “3G” for 3rd generation networks and “ATM” for a ATM network

The operation can return an empty string if the report format is applicable for many technology area

Returns: String The name of the technology.

getType()

public int getType()

Gets the report format type.

The type of the report format can have one of the following values:

• XML • ASN1 • ASCII • BINARY

Returns: int The report format type.

95

Page 100: OSS Quality of Service API

ReportInfo

getVersion()

moved

menta-

getVersion()

public java.lang.String getVersion()

Get the report format version.

Returns: String The version of the report format.

ReportInfoSyntaxpublic interface ReportInfo extends java.io.Serializable, java.lang.Cloneable

All Superinterfaces: java.lang.Cloneable, java.io.Serializable

DescriptionContains information related to a measurement report file.

Author: Stefan Ýberg

Version: 0.3, 2000-02-06

Methods

getExpirationDate()

public java.util.Calendar getExpirationDate()

Gets the expiration date of the measurement report.

When the expiration date of the measurement report occurs, the measurement report file will be refrom the performance monitor agent.

If null is return, no expiration date exist for the measurement report and the retention period is impletion dependent.

Returns: Date Expiration date of the measurement report.

Member Summary

MethodsCalendar getExpirationDate()96

ReportFormat getReportFormat()97URL getURL()97

96

Page 101: OSS Quality of Service API

ReportInfoIterator

getReportFormat()

getReportFormat()

public ReportFormat93 getReportFormat()

Returns the report format of the measurement report.

Returns: ReportFormat The report format of the measurement report.

getURL()

public java.net.URL getURL()

Returns a pointer (URL) to the measurement report.

Returns: URL Reference to the measurement report.

ReportInfoIteratorSyntaxpublic interface ReportInfoIterator extends java.io.Serializable

All Superinterfaces: java.io.Serializable

DescriptionThis interface manages retrieval of information for multiple measurement reports.

Because the query operation could potentially return large amounts of data, the iterator design pattern is used for returning the results. An iterator is an object that is created to contain the results of an operation. The client receives a reference to the iterator as part of the information returned by the query operation. The client then invokes operations on the iterator to receive batches of results in sizes determined by the client. The iterator keeps track of how far through the results the client has progressed.

The semantic of the iterator is that it is returning a snapshot of the data matching the query expression at the moment the query was performed. If the underlying data are modified while the iteration is in progress, it will not affect the behavior of the iterator or the data values of the iterator.

The report information that is contained in this iterator must be sorted on report data creation date. If the report data is stored in files, the oldest file shall be returned first by the iterator.

For example the PerformanceMonitor interface support an operation to retrieve information of all measurement result files. Code on the client side would look like this:

97

Page 102: OSS Quality of Service API

ReportInfoIterator

getNext(int)

tion can

umber

imple-

ReportInfoIterator riIterator;ReportInfo[] ris; // Measurement report file information listInputStream stream;pmsession = & // getting a reference to a performance monitor bean.//retrieve information of all measurement reports//and provide at most 10 values in the initial set.riIterator = pmsession.getPerformanceReportIds(null, null);//retrieve the 10 initial report keysris = riIterator.getNext( 10 );while(ris.length) {

for( int I=0; I < ris.length; I++) {// Open the steam and get the data.stream=ris[I].openstream();// read the data..// close the streamstream.close();

}ris = riIterator.getNext( 10 );

}riIterator.remove();

Author: Stefan Ýberg

Version: 0.3, 2001-02-06

Methods

getNext(int)

public ReportInfo96[] getNext(int how_many)

throws java.rmi.RemoteException

Returns a list of measurement report information.

The function takes one argument that specifies the most number of items to return. The implementadecide to return less or the requested number of items.

If zero is specified and empty list is returned.

If the iteration is empty or has reached then end, null is returned.

If the argument is greater than the number of item in the iterator then all or implementation decided nof items are returned.

If the agreement plus the cursor of the iterator is greater than the number of item in the iterator, all ormentation decided number of items from the cursor to the end is returned.

Member Summary

MethodsReportInfo[] getNext(int)98

void remove()99

98

Page 103: OSS Quality of Service API

ReportMode

remove()

set to et to

an event ge cre-ing the

Parameters:how_many - Maximum of items to return, the implementation can decide to return less.

Returns: ReportInfo[] List of measurement report keys.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurrs.

remove()

public void remove()

throws java.rmi.RemoteException, javax.ejb.RemoveException

Remove the iterator.

When the client has finished iterating through the collection, he shall call this operation to allow resourcesto be freed.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

javax.ejb.RemoveException - Is raised if the implementation is an EJB and removal of the EJB could not be done.

ReportModeSyntaxpublic interface ReportMode

DescriptionDefines enumeration values for report mode.

The report mode for the measurement results can be done in four different ways. The following report modes exists:

• event per measurement job. • event for multiple measurement jobs. • report file per measurement job. • report file for multiple measurement jobs.

The report mode can be divided into two major categories: by event and by file. If the reporting mode is event the system will emit an event that carries the measurement result report. If the reporting mode is sfile, the measurement job will capture the measurement result reports into a data storage and then emit to the client about the availability of the data. The frequency of this event is determined by the data storaation frequency. When a client receives an event of data availability, the client can retrieve the data, by usURL to connect to the system.

Author: Stefan Ýberg

Version: 0.1, 2001-02-06

See Also: PerformanceMonitorValue79

99

Page 104: OSS Quality of Service API

QueryPerformanceMonitorValue

EVENT_MULTIPLE

Fields

EVENT_MULTIPLE

public static final int EVENT_MULTIPLE

Constant for report mode of event for multiple measurement jobs.

EVENT_SINGEL

public static final int EVENT_SINGEL

Constant for report mode of event per measurement job.

FILE_MULTIPLE

public static final int FILE_MULTIPLE

Constant for report mode of report file for multiple measurement jobs.

FILE_SINGEL

public static final int FILE_SINGEL

Constant for report mode of report file per measurement job.

NO_REPORT_MODE

public static final int NO_REPORT_MODE

Constant for no report mode defined.

QueryPerformanceMonitorValueSyntaxpublic interface QueryPerformanceMonitorValue extends QueryValue244

Member Summary

Fieldsint EVENT_MULTIPLE100int EVENT_SINGEL100int FILE_MULTIPLE100int FILE_SINGEL100int NO_REPORT_MODE100

100

Page 105: OSS Quality of Service API

QueryPerformanceMonitorValue

QUERY_TYPE

All Known Subinterfaces: QueryByDNValue103

All Superinterfaces: java.lang.Cloneable, QueryValue244, java.io.Serializable

DescriptionThis interface represents the attributes of a measurement job that can be used to make queries for measurement jobs.

The attributes will be used to filter out the measurement jobs that match the values of the attributes. The attributes are concatenated using logical AND-operation.

Author: Stefan Ýberg

Version: 0.1, 2001-02-08

Fields

QUERY_TYPE

public static final java.lang.String QUERY_TYPE

Constant that defines string representation of the query type.

Member Summary

FieldsString QUERY_TYPE101

Methodsint getGranularityPeriod()102

String getMeasurementName()102String getPerformanceMonitorValueType()102

int getState()102boolean isGranularityPeriodSet()102boolean isMeasurementNameSet()102boolean isStateSet()102

void setGranularityPeriod(int)103void setMeasurementName(String)103void setPerformanceMonitorValueType(String)103void setState(int)103

101

Page 106: OSS Quality of Service API

QueryPerformanceMonitorValue

getGranularityPeriod()

Methods

getGranularityPeriod()

public int getGranularityPeriod()

Gets the query value of the measurement job granularity period.

Returns: int The granularity period in seconds.

getMeasurementName()

public java.lang.String getMeasurementName()

Returns the query value of the measurement job name.

Returns: String The query value of the measurement job name.

getPerformanceMonitorValueType()

public java.lang.String getPerformanceMonitorValueType()

Gets the query value of the measurement job value type.

Returns: String The query value of the measurement job value type.

getState()

public int getState()

Gets the query value of the measurement job state.

Returns: int The query value of the measurement job state.

See Also: PerformanceMonitorState78

isGranularityPeriodSet()

public boolean isGranularityPeriodSet()

Returns true if query value the measurement job granularity period is set.

Returns: boolean Returns true if the query value is set, else false.

isMeasurementNameSet()

public boolean isMeasurementNameSet()

Returns true if query value the measurement job name is set.

Returns: boolean Returns true if the query value is set, else false.

isStateSet()

public boolean isStateSet()

102

Page 107: OSS Quality of Service API

QueryByDNValue

setGranularityPeriod(int)

Returns true if query value the measurement job state is set.

Returns: boolean Returns true if the query value is set, else false.

setGranularityPeriod(int)

public void setGranularityPeriod(int granularityPeriod)

Sets the query value of the measurement job granularity period.

The granularity period is specified in seconds.

Parameters:granularityPeriod - The query value of the measurement job granularity period.

setMeasurementName(String)

public void setMeasurementName(java.lang.String name)

Sets the query value of the measurement job name.

The measurement job name can include a wild card (“*”) in the end of the name.

Parameters:name - The query value of the measurement job name.

setPerformanceMonitorValueType(String)

public void setPerformanceMonitorValueType(java.lang.String type)

Sets the query value of the measurement job value type.

The measurement job value type can be a base type of the requested measurement jobs.

Parameters:type - The query value of the measurement job value type.

setState(int)

public void setState(int state)

Sets the query value of the measurement job state.

Parameters:state - The query value of the measurement job state.

See Also: PerformanceMonitorState78

QueryByDNValueSyntaxpublic interface QueryByDNValue extends QueryPerformanceMonitorValue100

All Superinterfaces: java.lang.Cloneable, QueryPerformanceMonitorValue100, QueryValue244, java.io.Serializable

103

Page 108: OSS Quality of Service API

QueryByDNValue

getDistinguishedNames()

job. The

DescriptionThis interface is used to query for measurement jobs by specifying distinguished names.

The distinguished names will be used to filter out the measurement jobs that match the values of the DN and other provided attributes. The attributes are concatenated using logical AND-operation.

This query value is only applicable on measurement jobs of the “PerformanceMonitorByObjectValue”.

Author: Stefan Ýberg

Version: 0.1, 2001-02-08

Methods

getDistinguishedNames()

public java.lang.String[] getDistinguishedNames()

Returns the query value of the distinguished names.

Returns: String[] List of distinguished names.

setDistinguishedNames(String[])

public void setDistinguishedNames(java.lang.String[] names)

Sets the query value of the distinguished names.

The distinguished names will be checked with each observable object instance of all measurement DNs can be fully qualified DNs or start of a DN.

Parameters:name - The query value of the measurement job name.

Member Summary

MethodsString[] getDistinguishedNames()104

void setDistinguishedNames(String[])104

104

Page 109: OSS Quality of Service API

onitor nfigu-

nforma-ociated

hese

s a sys-

figura-

its con-first tions reshold nt data

n its sys-the sys-

y the all , all e mon-ed by

C H A P T E R 9Package

javax.oss.pm.thresholdDescription

Package javax.oss.pm.threshold Description This package describes a mechanism that allows a system to monitor measurement data for threshold crossings and to generate alarms when these crossings are detected. This mechanism is known as a “threshold mjob”. A job embodies a client’s request for a threshold monitoring construct. These jobs contain all the coration information needed for the system to establish threshold monitoring on measurement data. This ition includes the identification of the measurement data, the threshold criteria, and all configurations asswith the monitoring and alarming aspects of the job.

These jobs are administered through a collection of operations provided by a threshold monitor agent. Toperations perform the following administrative duties:

• The ability to create, delete, resume and suspend a threshold monitor job, • The ability to retrieve threshold monitor jobs by their keys, • The ability to query threshold monitor jobs, • The ability to discover system performance measurements via a discovery mechanism that expose

tem’s observable objects, • The ability to determine the supported granularities of a system based on a threshold monitor job con

tion, and finally • The ability to execute bulk operations.

Create, delete, suspend, and resume a threshold monitor jobThis package supports the creation of a threshold monitor job. This quantity must be created with all of figuration information supplied at creation time. In order to create a threshold monitor job, a client must populate an empty job structure with his threshold configuration requirements. All configuration modificamust be applied to this structure prior to the execution of the creation operation since set operations on thmonitor jobs are not supported. Once the job is created, it will immediately begin monitoring measuremeaccording to its schedule.

A threshold job instance is automatically deleted by the system when it reaches the end time specified imonitoring schedule. If no end time is specified, it will continue to run until it is manually deleted from thetem. These jobs can be manually deleted from the system at any time. Once a threshold job is deleted, tem is free to terminate all monitoring processes associated with the job.

During normal operation, the system will monitor measurement data according to the criteria specified bthreshold monitor job. However, at some point, a system operator may decide to temporarily “suspend” monitoring activity due to system overload, congestion, or some other condition. During this time periodmonitoring activities will be put on hold (suspended) and no threshold alarms will be generated. Once thitoring processes have been reactivated, all monitoring will resume at the next granularity period specifithe threshold jobs.

105

Page 110: OSS Quality of Service API

javax.oss.pm.threshold

three second hed d for an

e system d con-ism

ve) on ation. its and d roll-letion ndition

itoring ow:

Retrieve threshold monitor jobs using keysAt any point in time, a user of the package can retrieve one or more threshold monitor jobs that are defined in the system by specifiying their keys. The retrieved threshold monitor jobs contain all of their original configura-tion information as well as the state of the monitoring activity at the time of the retrieval.

Retrieve threshold monitor jobs using a query mechanismThe query mechanism supplied by the monitor agent allows the client to retrieve threshold monitor jobs by sup-plying a query value. The API mandates a query value that supports the retrieval of threshold jobs by specifying an observable object list or a state. Vendor extensions may choose to supply additional query values.

Discover supported performance measurementsThe discovery mechanism to determine a system’s monitorable performance measurements comprisesoperations. The first one returns all the observed object classes supported by the monitoring agent. Theone returns the observable object instances of a specific object class that are located below a distinguisname. The third one returns meta-data describing the performance measurements that can be monitoreobservable object class.

Determine supported system granularities based on a threshold monitor job configuration The package provides a mechanism that enables a client to determine the granularities supported by thfor a given threshold monitor job configuration. The client first populates a job structure with his thresholfiguration requirements minus the granularity value. The client then passes this structure to the mechanwhich returns a list of granularities supported for that job configuration.

Execute bulk operationsThe package provides for the ability to perform operations (create, remove, suspend, resume and retriemultiple threshold monitor jobs using a single command. This type of activity is classified as a bulk operAll bulk operations use a best effort strategy. This strategy allows the jobs to be treated as individual unnot as a set. This means that a failure involving one of the jobs does not cause the operation to abort anback the successful jobs. A result from the bulk operation will be returned to the client following the compof the operation. The result will contain a list of keys and statuses. Each status indicates a pass or fail cofor each job supplied. Failed job operations will also return text describing the reason for the failure.

Package interfacesThe threshold monitor package consists of four types of interfaces:

• EJB interfaces • Value Object interfaces • Event interfaces • Utility interfaces

EJB interfacesThe EJB interfaces are the main interfaces of the package and are the client’s view of the threshold monagent’s monitoring capabilities as described above. The interfaces are pictured in the diagram listed bel

106

Page 111: OSS Quality of Service API

javax.oss.pm.threshold

A more detailed view of the business interface, ThresholdMonitorMethods, is shown in the diagram below:

107

Page 112: OSS Quality of Service API

javax.oss.pm.threshold

r job nitor ms,

its

Value Object interfacesThe Value Object interface is a well known enterprise design pattern that is used to encapsulate business data. One reason to use this pattern is to reduce the number of remote invocations needed to access this data. The value object interface in the context of this package encapsulates a client’s view of the threshold monitoquantity and is used by the client when defining and retrieving information associated with threshold mojobs. The diagram below shows a hierarchy of threshold monitor value interfaces. In the following diagrathese interfaces are shown with the stereotype of “type” in order to provide a clearer specification of theassociated behaviors. No actual implementation of state data exists.

108

Page 113: OSS Quality of Service API

javax.oss.pm.threshold

The above diagram displays value objects that represent two types of threshold monitor jobs, the Simple-ThresholdMonitorValue and the ComplexThresholdMonitorValue. The SimpleThresholdMonitorValue moni-tors a measurement of a single observable object instance for threshold crossings and will generate an alarm when a crossing is detected. This threshold monitor job is currently the only one mandated by the API. For a view of the complete structure, see the first diagram below. The ComplexThresholdMonitorValue is an example of a vendor specific extension. It represents a complex job with the capability of monitoring multiple observable object measurements for threshold crossings and generating alarms based on criteria specified by a trigger rule.

109

Page 114: OSS Quality of Service API

javax.oss.pm.threshold

This example is included to illustrate how vendor specific extensions can be applied to the QoS API. For a view of the complete structure, see the second diagram below.

110

Page 115: OSS Quality of Service API

javax.oss.pm.threshold

Event interfacesThe event interfaces provide a client with mechanisms to access threshold monitor job alarm information and to discover the filterable properties of threshold alarm events. These interfaces are realized by events that are transported to the client via JMS. The event interfaces associated with this package are shown below (See Pack-age javax.oss.fm.monitor for more details).

111

Page 116: OSS Quality of Service API

javax.oss.pm.threshold

Utility interfacesThe utility interfaces are used by the client to access and construct threshold monitor job information. These interfaces are shown in the following two diagrams displayed below. The first diagram shows interfaces that are used to describe the threshold monitor job quantity. The second diagram shows interfaces that are used by query and discovery mechanisms described earlier in this package.

112

Page 117: OSS Quality of Service API

javax.oss.pm.threshold

113

Page 118: OSS Quality of Service API

javax.oss.pm.threshold

Related DocumentationThe following external documents are applicable for the specification:

• 3GPP TS 32.104: 3G Performance Management (PM), R99

Class Summary

Interfaces

AlarmConfig115 The AlarmConfig interface represents the configuration information for an alarm that is generated by a threshold monitor job following a threshold violation.

ComplexThresholdMonitorValue118

The ComplexThresholdMonitorValue represents a configuration of a complex thresh-old monitor job quantity that generates an alarm based on the threshold crossing states of a group attibutes from observable objects of the same or different classes.

QueryBySimpleThresAttributesValue122

The QuerySimpleThresAttributesValue interface gives clients the capability to query on the one or more of the following simple threshold monitoring attributes: state, gran-ularity, job name, alarm configuration, a list of threshold definitions, and a list of observable object distinguished names.

QueryMonitorValue124 The QueryMonitorValue interface represents a query value that allows clients to query monitor jobs by one or more of the following basic monitoring attributes: state, granu-larity, and job name.

SimpleThresholdMonitorValue127

The SimpleThresholdMonitorValue represents the configuration of a simple threshold monitor job that monitors threshold states on attributes of the same attribute type and generates an alarm when a threshold crossing is detected.

114

Page 119: OSS Quality of Service API

AlarmConfig

ing the

caus-

nts

n of

est y.

r

d

AlarmConfigSyntaxpublic interface AlarmConfig extends java.io.Serializable, java.lang.Cloneable

All Superinterfaces: java.lang.Cloneable, java.io.Serializable

DescriptionThe AlarmConfig interface represents the configuration information for an alarm that is generated by a thresh-old monitor job following a threshold violation. This information is specified by interfaces in the javax.oss.fm.monitor package and includes the following parameters:

• an event type representing the classification of the event. • a perceived severity indicating the level of urgency associated with the alarm. • a probable cause providing more information than the event type on the nature of the problem caus

alarm. • a specific problem type providing more information than probable cause on the nature of the problem

ing the alarm.

ThresholdDefinition130 The Threshold Definition interface provides a mechanism for the configuration of the parameters that specify the criteria that determines the setting and the clearing of threshold crossing states (threshold crossed and threshold cleared).

ThresholdDirection133 The Threshold Direction interface represents the constants associated with the direc-tion of a threshold.

ThresholdMonitor134 A ThresholdMonitor represents the system’s ability to monitor thresholds on elemein the network and produce alarms triggered by threshold values.

ThresholdMonitorHome135

The ThresholdMonitorHome is an interface that serves as a factory for the creatioenterprise beans that provide management services to threshold monitor jobs.

ThresholdMonitorKey136 The ThresholdMonitorKey defines an interface for a primary key that identifies thethreshold monitor job.

ThresholdMonitorKeyResult137

The ThresholdMonitorKeyResult defines an interface that specifies the result of a beffort operation with respect to specific threshold monitor job represented by its ke

ThresholdMonitorMethods139

The ThresholdMonitorMethods interface defines the business services provided fothreshold monitoring jobs.

ThresholdMonitorState151

Defines constants that represent the operational states associated with a thresholmonitor job.

ThresholdMonitorValue152

Represents the base level configuration associated with a threshold monitor job.

ThresholdMonitorValueIterator156

This interface manages the retrieval of multiple threshold monitor jobs.

TriggerRule158 The TriggerRule interface provides a mechanism for the configuration of rules thatoperate on the set of monitored components specified in a threshold monitor job.

Class Summary

115

Page 120: OSS Quality of Service API

AlarmConfig

DEFAULT_ALARM_TYPE

Alarm-

r thresh-

The constants that represent the possible values of attributes found in the alarm configuration are defined in interfaces specified in javax.oss.fm.monitor directory.

Author: Audrey Ward

Version: 0.6, 2001-01-17

See Also: AlarmType202, PerceivedSeverity212, ProbableCause213

Fields

DEFAULT_ALARM_TYPE

public static final java.lang.String DEFAULT_ALARM_TYPE

Represents the default alarm type which represents a quality of service alarm. The value is “Type.QUALITY_OF_SERVICE_ALARM”.

Methods

getAlarmType()

public java.lang.String getAlarmType()

Gets the event type associated with the alarm. Provides an event classification. The default value foold alarms is “qos alarm”.

Returns: String The alarm type associated with the alarm.

See Also: AlarmType202

Member Summary

FieldsString DEFAULT_ALARM_TYPE116

MethodsString getAlarmType()116short getPerceivedSeverity()117short getProbableCause()117

String getSpecificProblem()117void setAlarmType(String)117void setPerceivedSeverity(short)117void setProbableCause(short)117void setSpecificProblem(String)118

116

Page 121: OSS Quality of Service API

AlarmConfig

getPerceivedSeverity()

getPerceivedSeverity()

public short getPerceivedSeverity()

Gets the perceived level of urgency associated with the alarm.

Returns: short Returns a value that represents the severity level associated with an alarm.

See Also: PerceivedSeverity212

getProbableCause()

public short getProbableCause()

Gets the probable cause associated with the alarm. Provides more detail than event type.

Returns: short Returns a value that represents the probable cause of the alarm.

See Also: ProbableCause213

getSpecificProblem()

public java.lang.String getSpecificProblem()

Gets the specific problem associated with the alarm. Provides more detail than probable cause.

Returns: String Returns a value that represents the specific problem.

setAlarmType(String)

public void setAlarmType(java.lang.String eventType)

Sets the event type associated with the alarm. Provides an event classification. The setting of this parameteris optional. The default value for threshold alarms represents a Quality of Service Alarm.

Parameters:eventType - A string representing the alarm type.

See Also: AlarmType202

setPerceivedSeverity(short)

public void setPerceivedSeverity(short severity)

Sets the perceived level of urgency associated with the alarm. The setting of this parameter is mandatory.

Parameters:severity - A representation of the severity level associated with an alarm.

See Also: PerceivedSeverity212

setProbableCause(short)

public void setProbableCause(short cause)

Sets the probable cause associated with the alarm. Provides more detail than event type. The setting of thisparameter is optional.

117

Page 122: OSS Quality of Service API

ComplexThresholdMonitorValue

setSpecificProblem(String)

red for

g job

ermine

erv-. This

Parameters:cause - A representation of the probable cause associated with an alarm.

See Also: ProbableCause213

setSpecificProblem(String)

public void setSpecificProblem(java.lang.String problem)

Sets the specific problem associated with the alarm. Provides more detail than probable cause. The settingof this parameter is optional.

Parameters:problem - A string representation of the specific problem associated with the alarm.

ComplexThresholdMonitorValueSyntaxpublic interface ComplexThresholdMonitorValue extends ThresholdMonitorValue152

All Superinterfaces: java.lang.Cloneable, ManagedEntityValue241, java.io.Serializable, ThresholdMonitorValue152

DescriptionThe ComplexThresholdMonitorValue represents a configuration of a complex threshold monitor job quantity that generates an alarm based on the threshold crossing states of a group attibutes from observable objects of the same or different classes. Each attribute has its own threshold definition and is associated with a specific observable object instance. An alarm is generated when the criteria defined in the trigger rule is satisfied. The implementation of this interface is optional. It is included to illustrate how the threshold monitor package of the QoS API could be extended.

This interface extends the ThresholdMonitorValue by specifying:

• a string array of distinguished names that identify the observable object instances that will be monitothreshold crossings.

• an array of threshold definitions. • an alarm configuration specifying the configuration of the alarm that is generated by the monitorin

when an alarm condition exists. • a trigger rule specifying the criteria that the monitoring job applies to its threshold components to det

if an alarm condition exists. A complex threshold monitoring job monitors threshold crossings on multiple attribute values. Every obsable object is assoicated with a threshold definition that identifies the attribute and the threshold criteriarelationship is managed by array position: String[0] goes with ThresholdDefintion[0], String[1] goes withThresholdDefintion[1], String[2] goes with ThresholdDefintion[2], etc.

Author: Audrey Ward

Version: 0.6, 2001-03-07

118

Page 123: OSS Quality of Service API

ComplexThresholdMonitorValue

ALARM_CONFIG

See Also: ThresholdMonitorValue152

Fields

ALARM_CONFIG

public static final java.lang.String ALARM_CONFIG

DEFINITIONS

public static final java.lang.String DEFINITIONS

OBSERVABLE_OBJECTS

public static final java.lang.String OBSERVABLE_OBJECTS

Constants required by Value Object pattern to allow for the selective retrieval of value attributes.

TRIGGER_RULES

public static final java.lang.String TRIGGER_RULES

Methods

getAlarmConfig()

public AlarmConfig115 getAlarmConfig()

Member Summary

FieldsString ALARM_CONFIG119String DEFINITIONS119String OBSERVABLE_OBJECTS119String TRIGGER_RULES119

MethodsAlarmConfig getAlarmConfig()119

String[] getObservableObjects()120ThresholdDefinition[] getThresholdDefinitions()120

TriggerRule getTriggerRule()120void setAlarmConfig(AlarmConfig)120void setObservableObjects(String[])121void setThresholdDefinitions(ThresholdDefinition[])121void setTriggerRule(TriggerRule)121

119

Page 124: OSS Quality of Service API

ComplexThresholdMonitorValue

getObservableObjects()

criteria

itored.

o deter-

ermine

viola-

ean.

d

Gets the configuration of the alarm that will be generated by the threshold monitor job for a threshold viola-tion.

Returns: AlarmConfig Returns an interface representing the alarm configuration associated with the threshold monitor job’s alarm.

See Also: AlarmConfig115

getObservableObjects()

public java.lang.String[] getObservableObjects()

Sets the array of observable object instances that will be monitored for threshold crossings based ondefined in a corresponding threshold definition.

Returns: String [] Returns a string [] containing the distinguished names of the observable object instances whose attributes are monitored.

getThresholdDefinitions()

public ThresholdDefinition130[] getThresholdDefinitions()

Gets the threshold definitions that define the threshold crossing criteria and the attributes to be mon

Returns: ThresholdDefinition Returns an interface representing an array of threshold definitions.

See Also: ThresholdDefinition130

getTriggerRule()

public TriggerRule158 getTriggerRule()

Gets the trigger rule associated with the threshold monitor job. The rule defines criteria that is used tmine when an alarm is triggered.

Returns: TriggerRule Returns an interface representing a rule that defines criteria that is used to detwhen to trigger an alarm.

See Also: TriggerRule158

setAlarmConfig(AlarmConfig)

public void setAlarmConfig(AlarmConfig115 alarmConfig)

throws javax.oss.IllegalArgumentException

Sets the configuration of the alarm that will be generated by the threshold monitor job for a thresholdtion.

The alarm configuration will be validated when the value object is passed to the threshold monitor b

Parameters:alarmConfig - An interface representing the alarm configuration generated by the threshold monitor job.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked business method coulnot be completed because a bad argument was provided.

120

Page 125: OSS Quality of Service API

ComplexThresholdMonitorValue

setObservableObjects(String[])

rigger

d

See Also: AlarmConfig115

setObservableObjects(String[])

public void setObservableObjects(java.lang.String[] observableobjects)

throws javax.oss.IllegalArgumentException

Sets the array of observable object instances that will be monitored for threshold crossings based on criteriadefined in a corresponding threshold definition.

Parameters:observableobjects - A string [] containing the distinguished names of the observable object instance.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked business method could not be completed because a bad argument was provided.

setThresholdDefinitions(ThresholdDefinition[])

public void setThresholdDefinitions(ThresholdDefinition130[] threshDefinitions)

throws javax.oss.IllegalArgumentException

Sets the threshold definitions that define the threshold crossing criteria and the attribute to be monitored.

The threshold definiton will be validated when the value object is passed to the threshold monitor bean.

Parameters:threshDefinitions - An interface representing an array of threshold definitions.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked business method could not be completed because a bad argument was provided.

See Also: ThresholdDefinition130

setTriggerRule(TriggerRule)

public void setTriggerRule(TriggerRule158 rule)

throws javax.oss.IllegalArgumentException

Sets the trigger rule associated with the threshold monitor job. The rule defines criteria that is used to deter-mine when an alarm is triggered.

The trigger rule will be validated when the value object is passed to the threshold monitor bean. If clientdoes not set the rule, then the threshold monitor will apply the default rule’TRIGGER_ON_EACH_CROSSED’ to its attributes.

Parameters:rule - An interface representing the rule that defines criteria that is used to determine when to tan alarm.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked business method coulnot be completed because a bad argument was provided.

See Also: TriggerRule158

121

Page 126: OSS Quality of Service API

QueryBySimpleThresAttributesValue

getAlarmConfig()

se

monitor

ation.

QueryBySimpleThresAttributesValueSyntaxpublic interface QueryBySimpleThresAttributesValue extends QueryMonitorValue124

All Superinterfaces: java.lang.Cloneable, QueryMonitorValue124, QueryValue244, java.io.Serial-izable

DescriptionThe QuerySimpleThresAttributesValue interface gives clients the capability to query on the one or more of the following simple threshold monitoring attributes: state, granularity, job name, alarm configuration, a list of threshold definitions, and a list of observable object distinguished names. In order to select a spefic type of threshold monitor job, a job type can also be specified. The query expression is formed by “ANDing” theattributes together.

If none of the parameters are specified, then all of the monitor jobs are returned.

Author: Audrey Ward

Version: 0.6, 2001-04-21

Methods

getAlarmConfig()

public AlarmConfig115 getAlarmConfig()

Gets the query attribute that represents an alarm configuration that is used to query for threshold jobs.

Returns: AlarmConfig Returns the query attribute that represents a threshold monitor alarm configur

Member Summary

MethodsAlarmConfig getAlarmConfig()122

String[] getObservableObjects()123ThresholdDefinition[] getThresholdDefinitions()123

boolean isAlarmConfigSet()123boolean isObservableObjectsSet()123boolean isThresholdDefinitionsSet()123

void setAlarmConfig(AlarmConfig)123void setObservableObjects(String[])124void setThresholdDefinitions(ThresholdDefinition[])124

122

Page 127: OSS Quality of Service API

QueryBySimpleThresAttributesValue

getObservableObjects()

See Also: AlarmConfig115

getObservableObjects()

public java.lang.String[] getObservableObjects()

Gets the query attribute that represents a list of observable object distinguished names that is used to queryfor threshold monitor jobs.

Returns: String [] Returns a threshold monitor query attribute that is a string [] containing the distinguished names of the observable object instances.

getThresholdDefinitions()

public ThresholdDefinition130[] getThresholdDefinitions()

Gets the query attribute that represents a list of threshold definitions that is used to query for threshold mon-itor jobs.

Returns: ThresholdDefinition Returns a query attribute that represents a list of threshold definitions.

See Also: ThresholdDefinition130

isAlarmConfigSet()

public boolean isAlarmConfigSet()

Returns true if the query attribute for the alarm configuration is set.

Returns: boolean Returns true if the query attribute is set, else false.

isObservableObjectsSet()

public boolean isObservableObjectsSet()

Returns true if the query attribute for the list of observable objects is set.

Returns: boolean Returns true if the query attribute is set, else false.

isThresholdDefinitionsSet()

public boolean isThresholdDefinitionsSet()

Returns true if the query attribute for the list of threshold definitions is set.

Returns: boolean Returns true if the query attribute is set, else false.

setAlarmConfig(AlarmConfig)

public void setAlarmConfig(AlarmConfig115 alarmConfig)

throws javax.oss.IllegalArgumentException

Sets the query attribute that represents an alarm configuration that is used to query for threshold monitorjobs.

123

Page 128: OSS Quality of Service API

QueryMonitorValue

setObservableObjects(String[])

Parameters:alarmConfig - A query attribute that represents an threshold monitor alarm configuration.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked method could not be completed because a bad argument was provided.

See Also: AlarmConfig115

setObservableObjects(String[])

public void setObservableObjects(java.lang.String[] observableobjects)

throws javax.oss.IllegalArgumentException

Sets the query attribute that represents a list of observable object distinguished names that is used to queryfor threshold monitor jobs.

Parameters:observableobjects - A string [] containing the distinguished names of observable object instances. Distinguished names are not required to be fully qualified.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked method could not be completed because a bad argument was provided.

setThresholdDefinitions(ThresholdDefinition[])

public void setThresholdDefinitions(ThresholdDefinition130[] threshDefinitions)

throws javax.oss.IllegalArgumentException

Sets the query attribute that represents a list of threshold definitions that is used to query for threshold mon-itor jobs.

Parameters:threshDefinitions - A query attribute that represents a list of threshold definitions.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked method could not be completed because a bad argument was provided.

See Also: ThresholdDefinition130

QueryMonitorValueSyntaxpublic interface QueryMonitorValue extends QueryValue244

All Known Subinterfaces: QueryBySimpleThresAttributesValue122

All Superinterfaces: java.lang.Cloneable, QueryValue244, java.io.Serializable

124

Page 129: OSS Quality of Service API

QueryMonitorValue

getGranularityPeriod()

DescriptionThe QueryMonitorValue interface represents a query value that allows clients to query monitor jobs by one or more of the following basic monitoring attributes: state, granularity, and job name. In order to return a specific type of monitor job, a type attribute can be specified. The query expression is formed by “ANDing” theseattributes together.

This query should be renamed to QueryMonitorValue and moved to the javax.oss.pm.util directory.

If none of the parameters are specified, then all of the monitor jobs are returned.

Author: Audrey Ward

Version: 0.6, 2001-04-21

Methods

getGranularityPeriod()

public int getGranularityPeriod()

Gets the query attribute that represents the monitor job granularity period.

Returns: int The granularity period in seconds.

getMonitorName()

public java.lang.String getMonitorName()

Returns the query attribute that represents the monitor job name.

Returns: String The query attribute for the monitor job name.

Member Summary

Methodsint getGranularityPeriod()125

String getMonitorName()125String getMonitorValueType()126

int getState()126boolean isGranularityPeriodSet()126boolean isMonitorNameSet()126boolean isStateSet()126

void setGranularityPeriod(int)126void setMonitorName(String)127void setMonitorValueType(String)127void setState(int)127

125

Page 130: OSS Quality of Service API

QueryMonitorValue

getMonitorValueType()

getMonitorValueType()

public java.lang.String getMonitorValueType()

Gets the query attribute that represents the monitor job value type.

Returns: String The query attribute for the monitor job value type.

getState()

public int getState()

Sets the query attribute that represents a monitor job state. This attribute is used to query for monitor jobs ina given state.

Returns: int An integer that represents a particular state associated with a monitored job.

isGranularityPeriodSet()

public boolean isGranularityPeriodSet()

Returns true if query attribute for the monitor job granularity period is set.

Returns: boolean Returns true if the query attribute is set, else false.

isMonitorNameSet()

public boolean isMonitorNameSet()

Returns true if query attribute for the monitor job name is set.

Returns: boolean Returns true if the query attribute is set, else false.

isStateSet()

public boolean isStateSet()

Returns true if the query attribute for the monitor job state is set.

Returns: boolean Returns true if the query attribute is set, else false.

setGranularityPeriod(int)

public void setGranularityPeriod(int granularityPeriod)

throws javax.oss.IllegalArgumentException

Sets the query attribute that represents the monitor job granularity period.

The granularity period is specified in seconds.

Parameters:granularityPeriod - The query attribute for the monitor job granularity period.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked method could not be completed because a bad argument was provided.

126

Page 131: OSS Quality of Service API

SimpleThresholdMonitorValue

setMonitorName(String)

r jobs in

setMonitorName(String)

public void setMonitorName(java.lang.String name)

throws javax.oss.IllegalArgumentException

Sets the query attribute that represents a monitor job name.

The monitor job name can include a wild card (“*”) at the end of the name.

Parameters:name - The query attribute for the monitor job name.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked method could not be completed because a bad argument was provided.

setMonitorValueType(String)

public void setMonitorValueType(java.lang.String type)

throws javax.oss.IllegalArgumentException

Sets the query attribute that represents the monitor job value type.

Parameters:type - The query attribute for the monitor job value type.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked method could not be completed because a bad argument was provided.

setState(int)

public void setState(int state)

throws javax.oss.IllegalArgumentException

Sets the query attribute that represents a monitor job state. This attribute is used to query for monitoa given state.

Parameters:state - An integer that represents a particular state associated with a monitored job.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked method could not be completed because a bad argument was provided.

SimpleThresholdMonitorValueSyntaxpublic interface SimpleThresholdMonitorValue extends ThresholdMonitorValue152

All Superinterfaces: java.lang.Cloneable, ManagedEntityValue241, java.io.Serializable, ThresholdMonitorValue152

127

Page 132: OSS Quality of Service API

SimpleThresholdMonitorValue

ALARM_CONFIG

name

g job

in a

DescriptionThe SimpleThresholdMonitorValue represents the configuration of a simple threshold monitor job that monitors threshold states on attributes of the same attribute type and generates an alarm when a threshold crossing is detected.

This interface extends the ThresholdMonitorValue by specifying:

• an attribute specifier that identifies the monitored attributes by specifying a measurement attributeand the observable instances that contain this attribute.

• a threshold definition • an alarm configuration specifying the configuration of the alarm that is generated by the monitorin

when a threshold crossing is detected. A simple threshold monitoring job monitors threshold crossings on attribute values based on criteria setcorresponding threshold definition.

Author: Audrey Ward

Version: 0.6, 2001-01-17

See Also: ThresholdMonitorValue152

Fields

ALARM_CONFIG

public static final java.lang.String ALARM_CONFIG

DEFINITION

public static final java.lang.String DEFINITION

Member Summary

FieldsString ALARM_CONFIG128String DEFINITION128String OBSERVABLE_OBJECT129

MethodsAlarmConfig getAlarmConfig()129

String getObservableObject()129ThresholdDefinition getThresholdDefinition()129

void setAlarmConfig(AlarmConfig)129void setObservableObject(String)130void setThresholdDefinition(ThresholdDefinition)130

128

Page 133: OSS Quality of Service API

SimpleThresholdMonitorValue

OBSERVABLE_OBJECT

itored.

ored.

viola-

d

OBSERVABLE_OBJECT

public static final java.lang.String OBSERVABLE_OBJECT

Constants required by Value Object pattern to allow for the selective retrieval of value attributes.

Methods

getAlarmConfig()

public AlarmConfig115 getAlarmConfig()

Gets the configuration of the alarm that will be generated by the threshold monitor job for a threshold viola-tion.

Returns: AlarmConfig Returns an interface representing the alarm configuration associated with the threshold monitor job’s alarm.

See Also: AlarmConfig115

getObservableObject()

public java.lang.String getObservableObject()

Gets the observable object for which the threshold definition applies.

Returns: String Represents the name of the observable object that contains the attribute to be mon

getThresholdDefinition()

public ThresholdDefinition130 getThresholdDefinition()

Gets the threshold definition that defines the threshold crossing criteria and the attribute to be monit

Returns: ThresholdDefinition Returns an interface representing a threshold definition.

See Also: ThresholdDefinition130

setAlarmConfig(AlarmConfig)

public void setAlarmConfig(AlarmConfig115 alarmConfig)

throws javax.oss.IllegalArgumentException

Sets the configuration of the alarm that will be generated by the threshold monitor job for a thresholdtion.

Parameters:alarmConfig - An interface representing the alarm configuration generated by the threshold monitor job.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked business method coulnot be completed because a bad argument was provided.

129

Page 134: OSS Quality of Service API

ThresholdDefinition

setObservableObject(String)

See Also: AlarmConfig115

setObservableObject(String)

public void setObservableObject(java.lang.String observableObject)

throws javax.oss.IllegalArgumentException

Sets the observable object for which the threshold definition applies.

Parameters:observableObject - Represents the name of the observable object that contains the attribute to be monitored.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked business method could not be completed because a bad argument was provided.

setThresholdDefinition(ThresholdDefinition)

public void setThresholdDefinition(ThresholdDefinition130 threshDefinition)

throws javax.oss.IllegalArgumentException

Sets the threshold definition that defines the threshold crossing criteria and the attribute to be monitored.

Parameters:threshDefinition - An interface representing a threshold definition.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked business method could not be completed because a bad argument was provided.

See Also: ThresholdDefinition130

ThresholdDefinitionSyntaxpublic interface ThresholdDefinition extends java.io.Serializable, java.lang.Cloneable

All Superinterfaces: java.lang.Cloneable, java.io.Serializable

DescriptionThe Threshold Definition interface provides a mechanism for the configuration of the parameters that specify the criteria that determines the setting and the clearing of threshold crossing states (threshold crossed and threshold cleared). A threshold enters a threshold crossed state when it reaches the threshold value specified by the setValue operation. It will remain in this state until it enters a threshold cleared state. A threshold cleared state is achieved when a threshold reaches a value that is calculated using the offset and the threshold value. If the direction of the threshold is raising, the value is computed by subtracting the the offset from the threshold value. Once the threshold reaches this value, it will remain in a threshold cleared state until it rises to the thresh-old value again. If the direction is falling, the offset is added to the threshold value and it will remain in the threshold cleared state until it descends to the threshold value again.

130

Page 135: OSS Quality of Service API

ThresholdDefinition

getAttributeName()

Author: Audrey Ward

Version: 0.6, 2001-01-17

See Also: ThresholdDirection133

Methods

getAttributeName()

public java.lang.String getAttributeName()

Gets the attribute name to be monitored.

Returns: String Returns a string that represents an attribute name.

getDirection()

public int getDirection()

Gets the direction of the threshold crossing associated with the threshold definition. The direction can beeither rising or failing.

Returns: ThresholdDirection Returns an int that represents the direction of the threshold crossing.

See Also: ThresholdDirection133

getOffset()

public java.lang.Object getOffset()

Gets the offset associated with the threshold definition.

Returns: Object Returns an object that represents the offset quantity.

Member Summary

MethodsString getAttributeName()131

int getDirection()131Object getOffset()131String getType()132Object getValue()132

void setAttributeName(String)132void setDirection(int)132void setOffset(Object)132void setType(String)133void setValue(Object)133

131

Page 136: OSS Quality of Service API

ThresholdDefinition

getType()

getType()

public java.lang.String getType()

Gets the type of the attribute value.

Returns: String Returns the attribute type.

getValue()

public java.lang.Object getValue()

Gets the value that attribute values must reach in order to achieve a threshold crossing state.

Returns: Object Returns an object that represents the threshold value quantity.

setAttributeName(String)

public void setAttributeName(java.lang.String name)

Sets the attribute name to be monitored.

Parameters:name - A string that represents an attribute name.

setDirection(int)

public void setDirection(int direction)

Sets the direction of the threshold crossing associated with the threshold definition. The direction is can beeither rising or failing.

Parameters:direction - An int that represents the direction of the threshold crossing.

See Also: ThresholdDirection133

setOffset(Object)

public void setOffset(java.lang.Object offset)

Sets the offset associated with the threshold definition. This value along with the direction specifies thehysteresis that the attribute value is allowed to oscillate within without being classified in a threshold cross-ing state. If the threshold direction is rising, the following applies: Once a threshold attribute enters athreshold crossing state (reaches the threshold value), no subsequent crossings are registered until thethreshold attribute value has descended to the value of the threshold value MINUS the Offset. When itreaches this point, the threshold attribute is no longer considered to be in a threshold crossing state and itenters a threshold cleared state. The reverse applies for the falling direction. Note: Value and Offset MUSTbe of the same type.

Parameters:offset - An Object that represents the offset quantity.

132

Page 137: OSS Quality of Service API

ThresholdDirection

setType(String)

setType(String)

public void setType(java.lang.String type)

Sets the type of the attribute value.

Parameters:type - A string that represents the attribute type. Note: must be the same type as Offset.

setValue(Object)

public void setValue(java.lang.Object value)

Sets the value that attributes values must reach in order to achieve a threshold crossing state.

Parameters:value - An Object that represents the threshold value quantity. Note: must be the same type as Offset.

ThresholdDirectionSyntaxpublic interface ThresholdDirection

DescriptionThe Threshold Direction interface represents the constants associated with the direction of a threshold. The direction of the threshold can be rising or falling. The direction combined with the hysteresis determines the conditions for entering a threshold crossing or threshold cleared state.

Author: Audrey Ward

Version: 0.6, 2001-01-17

See Also: ThresholdDefinition130

Fields

FALLING

public static final int FALLING

Member Summary

Fieldsint FALLING133int RISING134

133

Page 138: OSS Quality of Service API

ThresholdMonitor

RISING

d pro-

rvices

it . Upon

r-

onitor

Represents a falling direction for a threshold crossing.

RISING

public static final int RISING

Represents a rising direction for a threshold crossing.

ThresholdMonitorSyntaxpublic interface ThresholdMonitor extends javax.ejb.EJBObject, ThresholdMonitorMethods139

All Superinterfaces: javax.ejb.EJBObject, java.rmi.Remote, ThresholdMonitorMethods139

DescriptionA ThresholdMonitor represents the system’s ability to monitor thresholds on elements in the network anduce alarms triggered by threshold values. This set of services is called a threshold monitor job.

This interface defines the administrative methods that a threshold monitor agent shall support. These seare as follows:

• Creating a threshold monitor job • Deleting a threshold monitor job • Getting a threshold monitor job

Creating a threshold monitor job: In order to create a threshold monitor job, all of its information must besupplied.

Deleting a threshold monitoring job: A threshold monitor job is automatically deleted by the system whenreaches the job’s scheduled endtime. A threshold monitor job can also be deleted manually at any timedeletion, all processing associated with the job is stopped, and its allocated resources are freed.

Get a threshold monitor job: A simple query mechanism can be utilized at any time to retrieve all the infomation that represents a threshold monitor job including its state.

Get supported granularities based for a threshold monitor job: A query mechanism is provided to deter-mine the supported granularities of the server for given a template describing information in threshold mjob.

Author: Audrey Ward

Version: 0.6, 2001-01-16

Member Summary

MethodsVersion getVersion()135

134

Page 139: OSS Quality of Service API

ThresholdMonitorHome

getVersion()

Methods

getVersion()

public Version245 getVersion()

throws RemoteException

Gets the version of the OSS through Java API that the bean represents.

Returns: Version Returns the version of the OSS through Java API that the bean represents.

Throws:RemoteException - This exception is raised when an unexpected system exception occurs.

See Also: Version245

ThresholdMonitorHomeSyntaxpublic interface ThresholdMonitorHome extends javax.ejb.EJBHome

All Superinterfaces: javax.ejb.EJBHome, java.rmi.Remote

DescriptionThe ThresholdMonitorHome is an interface that serves as a factory for the creation of enterprise beans that pro-vide management services to threshold monitor jobs. The ThresholdMonitorHome is registered in JNDI to pro-vide clients with access to threshold monitor management services.

The following code illustrates how to find a ThresholdMonitorHome interface.

Context initial = new InitialContext();java.lang.Object objref = initial.lookup(“Motorola/OMC/ThresholdMonitor”);ThresholdMonitorHome tmHome =(ThresholdMonitorHome)PortableRemoteObject.narrow

(objref, ThresholdMonitorHome.class);// Create the remote interface of Threshold MonitorThresholdMonitor pmSession = tmHome.create();// Do something

Author: Audrey Ward

Version: 0.6, 2001-01-16

Member Summary

MethodsThresholdMonitor create()136

Version getVersion()136

135

Page 140: OSS Quality of Service API

ThresholdMonitorKey

create()

Methods

create()

public ThresholdMonitor134 create()

throws CreateException, RemoteException

Creates a new instance of the threshold monitoring management facility.

Returns: ThresholdMonitor Returns the remote interface to the bean implementation that provides the threshold monitoring management services.

Throws:CreateException - This exception raised to report a failure to create a threshold monitoring management facility.

RemoteException - This exception is raised when an unexpected system exception occurs.

getVersion()

public Version245 getVersion()

throws RemoteException

Gets the version of the OSS through Java API that the bean represents.

Returns: Version Returns the version of the OSS through Java API that the bean represents.

Throws:RemoteException - This exception is raised when an unexpected system exception occurs.

See Also: Version245

ThresholdMonitorKeySyntaxpublic interface ThresholdMonitorKey extends ManagedEntityKey240

All Superinterfaces: java.lang.Cloneable, ManagedEntityKey240, java.io.Serializable

DescriptionThe ThresholdMonitorKey defines an interface for a primary key that identifies the threshold monitor job.

Author: Audrey Ward

Version: 0.6, 2001-01-16

Member Summary

MethodsString getThresholdMonitorPrimaryKey()137

136

Page 141: OSS Quality of Service API

ThresholdMonitorKeyResult

getThresholdMonitorPrimaryKey()

Methods

getThresholdMonitorPrimaryKey()

public java.lang.String getThresholdMonitorPrimaryKey()

Returns the primary key of the threshold monitor job.

Returns: String Returns the primary key of the threshold monitor job in string format.

setThresholdMonitorPrimaryKey(String)

public void setThresholdMonitorPrimaryKey(java.lang.String key)

Sets the primary key of the threshold monitor job.

Parameters:key - The primary key of the threshold monitor job in string format.

ThresholdMonitorKeyResultSyntaxpublic interface ThresholdMonitorKeyResult extends java.io.Serializable

All Superinterfaces: java.io.Serializable

DescriptionThe ThresholdMonitorKeyResult defines an interface that specifies the result of a best effort operation with respect to specific threshold monitor job represented by its key.

Author: Audrey Ward

Version: 0.6, 2001-03-26

void setThresholdMonitorPrimaryKey(String)137

Member Summary

MethodsString getFailureReason()138

ThresholdMonitorKey getThresholdMonitorKey()138boolean isSuccess()138

void setFailureReason(String)138void setSuccess(Boolean)138

Member Summary

137

Page 142: OSS Quality of Service API

ThresholdMonitorKeyResult

getFailureReason()

Methods

getFailureReason()

public java.lang.String getFailureReason()

Returns the reason for the failure.

Returns: String Returns the reason for the failure.

getThresholdMonitorKey()

public ThresholdMonitorKey136 getThresholdMonitorKey()

Returns the primary key of the threshold monitor job.

Returns: ThresholdMonitorKey Returns the primary key of the threshold monitor job.

isSuccess()

public boolean isSuccess()

Returns the status of the best effort operation with respect to the threshold monitor job.

Returns: boolean Returns the status of the operation on the threshold monitor job.

setFailureReason(String)

public void setFailureReason(java.lang.String failure_reason)

Returns the reason for the failure of the operation on the threshold monitor job.

Parameters:failure_reason - Returns a string representation describing the reason for the failure.

setSuccess(Boolean)

public void setSuccess(java.lang.Boolean is_success)

Sets the status of the operation on a threshold monitor job.

Parameters:is_success - A boolean that indicates if the operation on the threshold monitor job was a success.

setThresholdMonitorKey(ThresholdMonitorKey)

public void setThresholdMonitorKey(ThresholdMonitorKey136 key)

Sets the primary key of the threshold monitor job.

void setThresholdMonitorKey(ThresholdMonitorKey)138

Member Summary

138

Page 143: OSS Quality of Service API

ThresholdMonitorMethods

setThresholdMonitorKey(ThresholdMonitorKey)

will

Parameters:key - Sets the primary key of the threshold monitor job.

ThresholdMonitorMethodsSyntaxpublic interface ThresholdMonitorMethods

All Known Subinterfaces: ThresholdMonitor134

DescriptionThe ThresholdMonitorMethods interface defines the business services provided for threshold monitoring jobs.

This interface is extended by the ThresholdMonitor remote interface and the bean implementation.

It is designed in this manner to allow for compile time checks on the business methods by both the bean imple-mentation and the remote interface. This pattern provides some assurance that a bean’s implementationwork with its remote interface.

Author: Audrey Ward

Version: 0.6, 2001-02-17

Member Summary

FieldsString RESUME_THRESHOLD_MONITOR140String SIMPLE_THRESHOLD_MONITOR_TYPE140String SUSPEND_THRESHOLD_MONITOR140String TRY_CREATE_THRESHOLD_MONITORS140String TRY_REMOVE_THRESHOLD_MONITORS141String TRY_RESUME_THRESHOLD_MONITORS141String TRY_SUSPEND_THRESHOLD_MONITORS141

MethodsThresholdMonitorKey createThresholdMonitor(ThresholdMonitorValue)141

AlarmEventPropertyDe-scriptor

getEventDescriptor(String)142

String[] getEventTypes()142PerformanceAttribute-

Descriptor[]

getObservableAttributes(String)143

ObservableObjectClas-sIterator

getObservableObjectClasses()143

ObservableObjectIter-ator

getObservableObjects(String, String)143

String[] getQueryTypes()144int[] getSupportedGranularities(ThresholdMonitorValue)144

String[] getSupportedOptionalOperations()144ThresholdMonitorValue getThresholdMonitor(ThresholdMonitorKey, String[])145

139

Page 144: OSS Quality of Service API

ThresholdMonitorMethods

RESUME_THRESHOLD_MONITOR

Fields

RESUME_THRESHOLD_MONITOR

public static final java.lang.String RESUME_THRESHOLD_MONITOR

Constant for the optional operation resumeThresholdMonitor.

SIMPLE_THRESHOLD_MONITOR_TYPE

public static final java.lang.String SIMPLE_THRESHOLD_MONITOR_TYPE

Constant representing the SimpleThresholdMonitorValue type.

SUSPEND_THRESHOLD_MONITOR

public static final java.lang.String SUSPEND_THRESHOLD_MONITOR

Constant for the optional operation suspendThresholdMonitor.

TRY_CREATE_THRESHOLD_MONITORS

public static final java.lang.String TRY_CREATE_THRESHOLD_MONITORS

Constant for the optional operation tryCreateThresholdMonitors.

ThresholdMonitorVal-ueIterator

getThresholdMonitors(ThresholdMonitorKey[], String)145

String[] getThresholdMonitorTypes()146boolean isObservableObjectsSupported(String[])146

QueryValue makeQueryValue(String)146SimpleThresholdMoni-

torValue

makeSimpleThresholdMonitorValue()147

ThresholdMonitorValue makeThresholdMonitorValue(String)147ThresholdMonitorVal-

ueIterator

queryThresholdMonitors(QueryValue, String[])147

void removeThresholdMonitor(ThresholdMonitorKey)148void resumeThresholdMonitor(ThresholdMonitorKey)148void suspendThresholdMonitor(ThresholdMonitorKey)149

ThresholdMonitorKey-Result[]

tryCreateThresholdMonitors(ThresholdMonitorValue[])149

ThresholdMonitorKey-Result[]

tryRemoveThresholdMonitors(ThresholdMonitorKey[])150

ThresholdMonitorKey-Result[]

tryResumeThresholdMonitors(ThresholdMonitorKey[])150

ThresholdMonitorKey-Result

trySuspendThreholdMonitors(ThresholdMonitorKey[])151

Member Summary

140

Page 145: OSS Quality of Service API

ThresholdMonitorMethods

TRY_REMOVE_THRESHOLD_MONITORS

itor objectn.

eriod.eated.

0 daysording

ementsd 24.00iple of

ill set ton of jobs,

TRY_REMOVE_THRESHOLD_MONITORS

public static final java.lang.String TRY_REMOVE_THRESHOLD_MONITORS

Constant for the optional operation tryRemoveThresholdMonitors.

TRY_RESUME_THRESHOLD_MONITORS

public static final java.lang.String TRY_RESUME_THRESHOLD_MONITORS

Constant for the optional operation resumeThresholdMonitors.

TRY_SUSPEND_THRESHOLD_MONITORS

public static final java.lang.String TRY_SUSPEND_THRESHOLD_MONITORS

Constant for the optional operation suspendThresholdMonitors.

Methods

createThresholdMonitor(ThresholdMonitorValue)

public ThresholdMonitorKey136 createThresholdMonitor(ThresholdMonitorValue152 value)

throws javax.ejb.CreateException, javax.oss.IllegalArgumentException, javax

.ejb.DuplicateKeyException, java.rmi.RemoteException

Creates a new threshold monitor job.

On creation of a threshold monitor job, all mandatory information must be supplied in order for the job tomonitor thresholds and to generate alarms.

If the value object is of the type “SimpleThresholdMonitorValue”, the threshold monitor job will monattributes that are classified by a single performance attribute descriptor and a list of observableinstances. The threshold criteria for the attributes will be listed in a corresponding threshold definitio

If the name of the threshold monitor job is set, it must be unique within the threshold monitor agent.

The setting of the granularity period is optional. If it is not set the server will determine a granularity pIf it is set, it must be a server supported granularity period or the threshold monitor job will not be crUse the getSupportedGranularities method to discover the supported granularities.

The implementation shall support a threshold monitor job start time (schedule) of up to at least 3from the job creation date. It shall also validate that the end time is not a time in the past. The recintervals may repeat on a daily and/or weekly basis and specify the time periods during which the elare monitored. The daily interval is defined by start times and end times, which lie between 00.00 anhours and are aligned on granularity period boundaries. Thus length of a daily interval will be a multthe granularity period.

On creation of a threshold monitor job, the state is set to active and depending on the schedule it won duty or off duty. If the state is set to suspended on creation and the agent supports the suspensiothe state job will be suspended and the schedule will be ignored until the job is resumed.

141

Page 146: OSS Quality of Service API

ThresholdMonitorMethods

getEventDescriptor(String)

ll be

d

The value objects should be created using the create value object methods (createSimpleThresholdMonitor-Value()) present in this interface to avoid problems.

Parameters:value - The value object that represents the configuration associated with a threshold monitor job.

Returns: ThresholdMonitorKey The primary key of the newly created threshold monitor job.

Throws:javax.ejb.CreateException - Is raised if the job could not be created.

IllegalArgumentException239 - Is thrown to report that the invoked business method could not be completed because a bad argument was provided.

javax.ejb.DuplicateKeyException - Is raised if an measurement job cannot be created because a measurement job with the same key already exists.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getEventDescriptor(String)

public AlarmEventPropertyDescriptor184 getEventDescriptor(java.lang.String eventType)

throws javax.oss.IllegalArgumentException, java.rmi.RemoteException

Get the event descriptor associated with an event category.

For an event category of “AlarmEvent”, the event descriptor “AlarmEventPropertyDescriptor” wireturned.

Parameters:eventType - The name of the event type.

Returns: AlarmEventPropertyDescriptor Returns an alarm event property descriptor.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked business method coulnot be completed because a bad argument was provided.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

See Also: AlarmEventPropertyDescriptor184

getEventTypes()

public java.lang.String[] getEventTypes()

throws java.rmi.RemoteException

Get the supported event types.

This operation gives information on which event types are supported by the implementation.

This operation must return an “AlarmEvent”.

Returns: String[] List of event type names (interface name) that are supported.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

See Also: AlarmEvent183

142

Page 147: OSS Quality of Service API

ThresholdMonitorMethods

getObservableAttributes(String)

getObservableAttributes(String)

public PerformanceAttributeDescriptor90[] getObservableAttributes(java.lang.String

observableObjectClassName)

throws javax.oss.IllegalArgumentException, java.rmi.RemoteException

Returns all attributes that can be monitored in the observable object class.

Parameters:observableObjectClassName - The name of the observable object class.

Returns: PerformanceAttributeDescriptor[] List of all supported attributes in the observable object class.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked business method could not be completed because a bad argument was provided.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getObservableObjectClasses()

public ObservableObjectClassIterator169 getObservableObjectClasses()

throws javax.ejb.CreateException, java.rmi.RemoteException

Returns all supported observed object classes in the monitoring agent.

Returns: ObservableObjectClassIterator Iterator that contains all supported observable object classes.

Throws:javax.ejb.CreateException - Is raised if the ObservableObjectClassIterator could not be created.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getObservableObjects(String, String)

public ObservableObjectIterator167 getObservableObjects(java.lang.String

observableObjectClassName, java.lang.String root)

throws javax.ejb.CreateException, javax.oss.IllegalArgumentException, java.

rmi.RemoteException

Returns the supported observable object instances of the specific object class that are located below thespecified distinguished name in the monitoring agent.

If root is not specified then all instances of that class are returned.

Parameters:observableObjectClassName - The class name of the observable object instances to be found.

root - The distinguished name of the object where the search shall begin.

Returns: ObservableObjectIterator Iterator that contains all supported observable objects.

Throws:javax.ejb.CreateException - Is raised if the ObservableObjectIterator could not be created.

IllegalArgumentException239 - Is thrown to report that the invoked business method could not be completed because a bad argument was provided.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

143

Page 148: OSS Quality of Service API

ThresholdMonitorMethods

getQueryTypes()

d

pportedation-

hey

getQueryTypes()

public java.lang.String[] getQueryTypes()

throws java.rmi.RemoteException

Returns the supported name queries.

Note: The only mandatory named query is QueryByStateAndOOValue.

Returns: String[] Returns the names of the supported query types. Currently, there are no defined named queries in the interface so this method will return a null. It is supplied for completeness and could be used if the API is extended.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getSupportedGranularities(ThresholdMonitorValue)

public int[] getSupportedGranularities(ThresholdMonitorValue152 value)

throws javax.oss.IllegalArgumentException, java.rmi.RemoteException

Query for the granularities supported by the system based on the threshold value to be monitored.

If no granularities are supported by the system for a given threshold value, then the system will return anull.

Parameters:value - A value representing the configuration of a threshold monitor job quantity.

Returns: int[] An array of ints representing the server’s supported granularity periods (in seconds).

Throws:IllegalArgumentException239 - Is thrown to report that the method could not be completebecause a bad argument was provided.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getSupportedOptionalOperations()

public java.lang.String[] getSupportedOptionalOperations()

throws java.rmi.RemoteException

Get the supported optional operations.

Some of the operations on the threshold monitor bean are optional. This operation returns a list of suoptional operations. Calling unsupported optional operations will result in the “UnsupportedOperException”.

The following operation prototypes can be returned:

• ThresholdMonitorKeyResult[] tryCreateThresholdMonitors ( ThresholdMonitorValue[] ) • ThresholdMonitorKeyResult[] tryRemoveThresholdMonitors( ThresholdMonitorKey[] ) • ThresholdMonitorKeyResult[] trySuspendPerformanceMonitors( ThresholdMonitorKey[] ) • ThresholdMonitorKeyResult[] tryResumePerformanceMonitors( ThresholdMonitorKey[] ) • void suspendPerformanceMonitor( ThresholdMonitorKey tmKey ) • void resumePerformanceMonitor( ThresholdMonitorKey tmKey )

Returns: String[] List of operation names that will not throw the UnsupportedOperationException, if tare called.

144

Page 149: OSS Quality of Service API

ThresholdMonitorMethods

getThresholdMonitor(ThresholdMonitorKey, String[])

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getThresholdMonitor(ThresholdMonitorKey, String[])

public ThresholdMonitorValue152 getThresholdMonitor(ThresholdMonitorKey136 tmKey,

java.lang.String[] attributes)

throws javax.ejb.ObjectNotFoundException, javax.oss.IllegalArgumentExceptio

n, java.rmi.RemoteException

Gets the attribute values of a specific threshold monitor job.

The input parameters specify the attributes of the threshold monitor job to return. If the attribute id list isnull, all the attribute values in the threshold monitor job are returned.

Parameters:tmKey - Primary key of the threshold monitor job.

attributes - A list of the requested attributes.

Returns: ThresholdMonitoringValue A value object containing the requested attributes of the threshold monitor job.

Throws:javax.ejb.ObjectNotFoundException - Is raised if the threshold monitor job is not found.

IllegalArgumentException239 - Is thrown to report that the invoked business method could not be completed because a bad argument was provided.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

getThresholdMonitors(ThresholdMonitorKey[], String)

public ThresholdMonitorValueIterator156 getThresholdMonitors(ThresholdMonitorKey136[]

tmKeys, java.lang.String attributes)

throws javax.oss.IllegalArgumentException, javax.ejb.FinderException, java.

rmi.RemoteException

Gets the attribute values of a specific threshold monitor jobs.

The input parameters specify the attributes of the threshold monitor jobs to return. If the attribute id list isnull, all the attribute values in the threshold monitor jobs are returned. If the array of threshold monitor jobkeys is null, all threshold monitor jobs are returned.

Parameters:tmKeys - An array of primary keys for the threshold monitor jobs.

attributes - A list of the requested attributes.

Returns: ThresholdMonitoringValueIterator[] An iterator of threshold monitor job objects containing the requested attributes specified by the attributes parameter.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked business method could not be completed because a bad argument was provided.

javax.ejb.FinderException - Is raised if one or several threshold monitor jobs were not found.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

145

Page 150: OSS Quality of Service API

ThresholdMonitorMethods

getThresholdMonitorTypes()

h the list

d

d

getThresholdMonitorTypes()

public java.lang.String[] getThresholdMonitorTypes()

throws java.rmi.RemoteException

Gets the supported entity value types.

This operation gives information on which entity value types are supported by the implementation.

This operation must at least return the “SimpleThresholdMonitorValue” entity value type.

Returns: String[] List of entity value type names (interface name) that are supported.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

isObservableObjectsSupported(String[])

public boolean isObservableObjectsSupported(java.lang.String[] dnList)

throws javax.oss.IllegalArgumentException, java.rmi.RemoteException

Indicate if the observable objects are can be observed.

This operation can be used by the client to determine if this bean can create a measurement job witof observable objects.

Parameters:dnList - List of observable objects distinguished names.

Returns: boolean returns true if the list of observable objects can be observed, else false.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked business method coulnot be completed because a bad argument was provided.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

makeQueryValue(String)

public QueryValue244 makeQueryValue(java.lang.String type)

throws javax.oss.IllegalArgumentException, java.rmi.RemoteException

Creates a Query Value Instance matching a Query type.

Note: The only mandatory named query is QueryByStateAndOOValue.

Parameters:type - The name of the Query Type (example: “QueryByStateAndOOValue”).

Returns: QueryValue A query value that is identified by the query type.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked business method coulnot be completed because a bad argument was provided.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

146

Page 151: OSS Quality of Service API

ThresholdMonitorMethods

makeSimpleThresholdMonitorValue()

makeSimpleThresholdMonitorValue()

public SimpleThresholdMonitorValue127 makeSimpleThresholdMonitorValue()

throws javax.oss.IllegalArgumentException, javax.ejb.CreateException, java.

rmi.RemoteException

Creates a SimpleThresholdMonitorValue object. This method should not be confused with the creation of athreshold monitoring job. The Session bean is used as a factory for the creation of threshold value typeobjects that are used to create threshold monitoring jobs.

Returns: SimpleThresholdMonitorValue Returns an empty simple threshold monitor construct.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked business method could not be completed because a bad argument was provided.

javax.ejb.CreateException - Is raised if the value type could not be created.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

makeThresholdMonitorValue(String)

public ThresholdMonitorValue152 makeThresholdMonitorValue(java.lang.String valuetype)

throws javax.oss.IllegalArgumentException, javax.ejb.CreateException, java.

rmi.RemoteException

Creates a value type object that represents a specific threshold monitor value type. This method should notbe confused with the creation of a threshold monitoring job. The Session bean is used as a factory for thecreation of threshold value type objects that are used to create threshold monitoring jobs.

It is mandatory that the API support the creation of the SimpleThresholdMonitorType.

Parameters:valuetype - A string that represents a specific threshold monitor entity value type.

Returns: ThresholdMonitorValue a threshold monitor entity value type. This returned object is empty.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked business method could not be completed because a bad argument was provided.

javax.ejb.CreateException - Is raised if the value type could not be created.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

queryThresholdMonitors(QueryValue, String[])

public ThresholdMonitorValueIterator156 queryThresholdMonitors(QueryValue244 query,

java.lang.String[] attrNames)

throws javax.oss.IllegalArgumentException, java.rmi.RemoteException

Query multiple managed entities using a query name and a set of parameters.

Note: The only mandatory named query is QueryByStateAndOOValue.

Parameters:query - Representing the query value.

attrNames - The string names of the fields in the managed entity value that will be returned as part of the query result.

147

Page 152: OSS Quality of Service API

ThresholdMonitorMethods

removeThresholdMonitor(ThresholdMonitorKey)

Returns: ThresholdMonitoringValueIterator[] An iterator of threshold monitor job objects containing the requested attributes specified by the attributes parameter.

Throws:IllegalArgumentException239 - Is thrown to report that the method could not be completed because a bad argument was provided.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

removeThresholdMonitor(ThresholdMonitorKey)

public void removeThresholdMonitor(ThresholdMonitorKey136 tmKey)

throws javax.ejb.ObjectNotFoundException, javax.oss.IllegalArgumentExceptio

n, javax.ejb.RemoveException, java.rmi.RemoteException

Removes a specific threshold monitor job.

The monitoring process associated with the threshold monitor job is stopped and its allocated resources arefreed.

Parameters:tmKey - The primary key of the threshold monitor job.

Throws:javax.ejb.ObjectNotFoundException - Is raised if the threshold monitor job was not found.

IllegalArgumentException239 - Is thrown to report that the invoked business method could not be completed because a bad argument was provided.

javax.ejb.RemoveException - Is raised if the threshold monitor job could not be removed.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

resumeThresholdMonitor(ThresholdMonitorKey)

public void resumeThresholdMonitor(ThresholdMonitorKey136 tmKey)

throws javax.oss.UnsupportedOperationException, javax.ejb.ObjectNotFoundExc

eption, javax.oss.IllegalArgumentException, java.rmi.RemoteException

Reactivates the monitoring activity for a threshold monitor job.

The threshold monitoring activity begins at the next granularity period defined by the schedule in thethreshold monitor job. This implies that the threshold monitoring job definition must remain in the system.

If the threshold monitoring job is already active, the job will remain active.

Parameters:tmKey - The primary key of the threshold monitoring job to be resumed.

Throws:UnsupportedOperationException244 - Is raised if this operation is not supported.

javax.ejb.ObjectNotFoundException - Is raised if the threshold monitor job was not found.

IllegalArgumentException239 - Is thrown to report that the method could not be completed because a bad argument was provided.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

148

Page 153: OSS Quality of Service API

ThresholdMonitorMethods

suspendThresholdMonitor(ThresholdMonitorKey)

e sys-b has

in the

d

if they

nitor

il

d

suspendThresholdMonitor(ThresholdMonitorKey)

public void suspendThresholdMonitor(ThresholdMonitorKey136 tmKey)

throws javax.oss.UnsupportedOperationException, javax.ejb.ObjectNotFoundExc

eption, javax.oss.IllegalArgumentException, java.rmi.RemoteException

Suspends all threshold monitoring activity in a threshold monitor job.

This function can be used to temporarily discontinue the monitoring of thresholds (e.g. in case of systemoverload or congestion, thresholds values not valid during this time period,...). The threshold monitor jobcan be suspended at any time. This implies that the threshold monitor job’s definition remains in thtem, but that all monitoring activities associated with the job are stopped. When the monitoring joresumed, the monitoring activity will continue at the next granularity period defined by the schedule.

The resume function will re-enable monitoring of thresholds according to the schedule defined threshold monitor job.

If the threshold monitor job is already suspended, the job will remain suspended.

Parameters:tmKey - The primary key of the threshold monitor job.

Throws:UnsupportedOperationException244 - Is raised if this operation is not supported.

javax.ejb.ObjectNotFoundException - Is raised if the measurement job was not found.

IllegalArgumentException239 - Is thrown to report that the method could not be completebecause a bad argument was provided.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

tryCreateThresholdMonitors(ThresholdMonitorValue[])

public ThresholdMonitorKeyResult137[]

tryCreateThresholdMonitors(ThresholdMonitorValue152[] tmValues)

throws javax.oss.UnsupportedOperationException, javax.ejb.CreateException,

javax.oss.IllegalArgumentException, javax.ejb.DuplicateKeyException, java.r

mi.RemoteException

Best Effort - Creates multiple threshold monitor jobs each with a different threshold monitor value.

For each threshold monitor job that should be created, the behaviour is the same for each job aswhere created individually, by calling createThresholdMonitor( ... ).

Parameters:tmValues - The value objects that represent the configuration associated with the threshold mojobs.

Returns: ThresholdMonitorKeyResult[] A threshold monitor key result that contains both pass and faresults from the create operation.

Throws:UnsupportedOperationException244 - Is raised if this operation is not supported.

javax.ejb.CreateException - Is raised if the measurement jobs could not be created.

IllegalArgumentException239 - Is thrown to report that the invoked business method coulnot be completed because a bad argument was provided.

149

Page 154: OSS Quality of Service API

ThresholdMonitorMethods

tryRemoveThresholdMonitors(ThresholdMonitorKey[])

javax.ejb.DuplicateKeyException - Is raised if an measurement job cannot be created because a measurement job with the same key already exists.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

tryRemoveThresholdMonitors(ThresholdMonitorKey[])

public ThresholdMonitorKeyResult137[] tryRemoveThresholdMonitors(ThresholdMonitorKey136[]

tmKeys)

throws javax.oss.UnsupportedOperationException, javax.oss.IllegalArgumentEx

ception, javax.ejb.FinderException, javax.ejb.RemoveException, java.rmi.Rem

oteException

Best Effort - Remove threshold monitor jobs.

The monitor process associated with the threshold monitor jobs are stopped and its allocated resources arefreed.

Parameters:tmKeys - List of primary keys of the threshold monitor jobs to remove.

Returns: ThresholdMonitorKeyResult[] A threshold monitor key result that contains both pass and fail results from the remove operation.

Throws:UnsupportedOperationException244 - Is raised if this operation is not supported.

IllegalArgumentException239 - Is thrown to report that the invoked business method could not be completed because a bad argument was provided.

javax.ejb.FinderException - Is raised if the threshold monitor jobs were not found.

javax.ejb.RemoveException - Is raised if the threshold monitor jobs could not be removed.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

tryResumeThresholdMonitors(ThresholdMonitorKey[])

public ThresholdMonitorKeyResult137[] tryResumeThresholdMonitors(ThresholdMonitorKey136[]

tmKeys)

throws javax.oss.UnsupportedOperationException, javax.oss.IllegalArgumentEx

ception, javax.ejb.FinderException, java.rmi.RemoteException

Best effort - Reactivates the monitoring activity on a list of threshold monitoring jobs.

The threshold monitoring activity begins at the next granularity period defined by the schedules in thethreshold monitor jobs. This implies that the threshold monitor job definitions must remain in the system.

If the threshold monitor jobs are already active, the jobs will remain active.

Parameters:tmKeys - List of primary keys of the threshold monitor jobs to be resumed.

Returns: ThresholdMonitorKeyResult[] A threshold monitor key result that contains both pass and fail results from the resume operation.

Throws:UnsupportedOperationException244 - Is raised if this operation is not supported.

150

Page 155: OSS Quality of Service API

ThresholdMonitorState

trySuspendThreholdMonitors(ThresholdMonitorKey[])

IllegalArgumentException239 - Is thrown to report that the method could not be completed because a bad argument was provided.

javax.ejb.FinderException - Is raised if the monitoring jobs were not found.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

trySuspendThreholdMonitors(ThresholdMonitorKey[])

public ThresholdMonitorKeyResult137 trySuspendThreholdMonitors(ThresholdMonitorKey136[]

tmKeys)

throws javax.oss.UnsupportedOperationException, javax.oss.IllegalArgumentEx

ception, javax.ejb.FinderException, java.rmi.RemoteException

Best Effort - Suspends all threshold monitoring activity on a list of threshold monitor jobs.

Parameters:tmKeys - List of primary keys of the threshold monitor jobs to suspended.

Returns: ThresholdMonitorKeyResult[] A threshold monitor key result that contains both pass and fail results from the suspend operation.

Throws:UnsupportedOperationException244 - Is raised if this operation is not supported.

IllegalArgumentException239 - Is thrown to report that the method could not be completed because a bad argument was provided.

javax.ejb.FinderException - Is raised if the threshold monitor jobs were not found.

java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

ThresholdMonitorStateSyntaxpublic interface ThresholdMonitorState

DescriptionDefines constants that represent the operational states associated with a threshold monitor job.

The threshold monitor job can have several states:

• Active and on duty • Active but off duty • Suspended

Author: Audrey Ward

Version: 0.6, 2001-02-17

See Also: ThresholdMonitorValue152

151

Page 156: OSS Quality of Service API

ThresholdMonitorValue

ACTIVE_OFF_DUTY

ings.

Fields

ACTIVE_OFF_DUTY

public static final int ACTIVE_OFF_DUTY

Constant for a threshold monitor job that is active and off duty.

ACTIVE_ON_DUTY

public static final int ACTIVE_ON_DUTY

Constant for a threshold monitor job that is active and on duty.

SUSPENDED

public static final int SUSPENDED

Constant for a threshold monitor job that is suspended.

ThresholdMonitorValueSyntaxpublic interface ThresholdMonitorValue extends ManagedEntityValue241

All Known Subinterfaces: ComplexThresholdMonitorValue118, SimpleThresholdMonitorValue127

All Superinterfaces: java.lang.Cloneable, ManagedEntityValue241, java.io.Serializable

DescriptionRepresents the base level configuration associated with a threshold monitor job. This interface is meant to be abstract in that it should never be directly implemented.

Threshold monitor jobs are managed by the ThresholdMonitor. A client can manage threshold monitoring jobs indirectly by using the services provided by this interface.

All threshold monitoring jobs shall include:

• a granularity specifying the rate at which attribute data is scanned and monitored for threshold cross• a schedule specifying the schedule of the monitoring activity.

Member Summary

Fieldsint ACTIVE_OFF_DUTY152int ACTIVE_ON_DUTY152int SUSPENDED152

152

Page 157: OSS Quality of Service API

ThresholdMonitorValue

GRANULARITY

• a name representing a user definable property used to identify the job. • a state of the monitoring job. • a key that identifies the monitoring job.

Author: Audrey Ward

Version: 0.6, 2001-01-17

See Also: ThresholdMonitor134

Fields

GRANULARITY

public static final java.lang.String GRANULARITY

KEY

public static final java.lang.String KEY

NAME

public static final java.lang.String NAME

Member Summary

FieldsString GRANULARITY153String KEY153String NAME153String SCHEDULE154String STATE154

Methodsint getGranularity()154

Schedule getSchedule()154ThresholdMonitorKey getThresholdMonitorKey()154

String getThresholdName()154int getThresholdState()154

boolean isScheduleSet()155void setGranularity(int)155void setSchedule(Schedule)155void setThresholdName(String)156

153

Page 158: OSS Quality of Service API

ThresholdMonitorValue

SCHEDULE

SCHEDULE

public static final java.lang.String SCHEDULE

STATE

public static final java.lang.String STATE

Methods

getGranularity()

public int getGranularity()

Gets the granularity associated with the threshold monitor job.

Returns: int Returns an int representing the granularity period associated with the threshold monitor job.

getSchedule()

public Schedule171 getSchedule()

Returns the schedule of the measurement job.

Returns: Schedule Returns the schedule associated with the threshold monitor job.

See Also: Schedule171

getThresholdMonitorKey()

public ThresholdMonitorKey136 getThresholdMonitorKey()

Gets the unique identifier for the threshold monitor job.

Returns: ThresholdMonitorKey Returns an interface representing the unique key associated with the threshold monitor job.

getThresholdName()

public java.lang.String getThresholdName()

Gets the user friendly name of the threshold monitor job.

Returns: String Returns a string representing the name of the threshold monitor job.

getThresholdState()

public int getThresholdState()

Gets the state of the threshold monitor job.

Returns: int Returns an int representing the state of the threshold monitor job.

154

Page 159: OSS Quality of Service API

ThresholdMonitorValue

isScheduleSet()

See Also: ThresholdMonitorState151

isScheduleSet()

public boolean isScheduleSet()

Indicate if the threshold monitor job has a schedule.

Returns: boolean Returns true if the threshold monitor job has a schedule, else it returns false.

setGranularity(int)

public void setGranularity(int granularity)

throws javax.oss.IllegalArgumentException

Sets the granularity associated with the threshold monitor job.

The granularity will be validated when the value object is passed to the threshold monitor bean. If the gran-ularity is not set, the server will decide at what granularity to monitor the threshold data.

Parameters:granularity - An int representing the granularity of the threshold monitor job.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked business method could not be completed because a bad argument was provided.

setSchedule(Schedule)

public void setSchedule(Schedule171 schedule)

throws javax.oss.IllegalArgumentException

Sets the schedule of the threshold monitor job.

The monitoring schedule specifies the time frames during which the threshold monitor job will be active.The monitor job is active as soon as the start time - if set - is reached. If no start time is provided, the moni-tor job shall become active immediately. The monitor job remains active until the stop time - if set - isreached. If no stop time is specified, the monitor job will run indefinitely and can only be stopped by sys-tem intervention, i.e. by deleting or suspending the monitor job. The time frame defined by the monitoringschedule may contain one or more recording intervals. These recording intervals may repeat on weeklybasis. If weekly schedule is omitted, the monitor job will run all days of the week. Alternatively, the weeklyschedule will indicate which days of the week the monitor job will run. The daily schedule specifies thetime frames during the day when the monitor job will be active. The time frame may contain one or morerecording intervals. These recording intervals specify the time periods when the threshold monitor is activehence thresholds are monitored. The start time and end time define a recording interval that lies between00.00 and 24.00 hours and must be aligned on granularity period boundaries. Thus the length of a record-ing interval will be a multiple of the granularity period. If daily interval is omitted, the threshold monitorjob will run continuously through the day.

The schedule will be validated when the value object is passed to the threshold monitor bean.

Parameters:schedule - Schedule of the threshold monitor job.

155

Page 160: OSS Quality of Service API

ThresholdMonitorValueIterator

setThresholdName(String)

e query is in

s in a

Throws:IllegalArgumentException239 - Is thrown to report that the invoked business method could not be completed because a bad argument was provided.

See Also: Schedule171

setThresholdName(String)

public void setThresholdName(java.lang.String name)

throws javax.oss.IllegalArgumentException

Sets the user friendly name for the threshold monitor job. The setting of this parameter is optional. If aname is provided, it must be unique.

The name will be validated when the value object is passed to the threshold monitor bean. The setting ofthis parameter is optional.

Parameters:name - A user friendly string representing the name of the threshold monitor job.

Throws:IllegalArgumentException239 - Is thrown to report that the invoked business method could not be completed because a bad argument was provided.

ThresholdMonitorValueIteratorSyntaxpublic interface ThresholdMonitorValueIterator extends java.io.Serializable

All Superinterfaces: java.io.Serializable

DescriptionThis interface manages the retrieval of multiple threshold monitor jobs.

Because the query operation could potentially return large amounts of data, the iterator design pattern is used for returning the results. An iterator is an object that is created to contain the results of an operation. The client receives a reference to the iterator as part of the information returned by the query operation. The client then invokes operations on the iterator to receive pieces of the result in sizes that are defined by the client. The itera-tor keeps track of the client’s progress through the result set.

The semantics of the iterator are that it returns a snapshot of the data matching the criteria defined in thexpression at the moment the query was performed. If the underlying data is modified while the iterationprogress, it will not affect the behavior of the iterator or the values it contains.

For example the ThresholdMonitor interface supports an operation to retrieve all threshold monitoring jobgiven state. Code on the client side would look like the following:

156

Page 161: OSS Quality of Service API

ThresholdMonitorValueIterator

getNext(int)

ThresholdMonitorValueIterator tmvIterator;ThresholdMonitorValue[] tmvs; // Threshold monitoring job listtmsession = & // getting a reference to a threshold monitor bean.//retrieve all suspended threshold monitoring jobs//and provide at most 10 values in the initial set.tmvIterator = tmsession.getThresholdMonitors(null,ThresholdMonitorState.SUSPENDED, null);//retrieve the 10 initial threshold monitoring jobstmvs = tmvIterator.getNext( 10 );while (tmvs.size()) {

for( int I=0; I < tmvs.size(); I++) {// Resume the measurement jobs.tmsession.resume( tmvs[I].getThresholdMonitorKey() );

}tmvs = tmvIterator.getNext( 10 );

}tmvIterator.remove();

Author: Audrey Ward (taken from PerformanceMonitorValueIterator)

Version: 0.6, 2001-02-06

Methods

getNext(int)

public ThresholdMonitorValue152[] getNext(int how_many)

throws java.rmi.RemoteException

Returns a list of threshold monitor jobs.

This method takes one argument that specifies the maximum number of items to be returned at one time.The implementation can decide to return less or the requested number of items.

If zero is specified, an empty list is returned.

If the iteration is empty or if it has reached the end, an empty list is returned.

If the argument is greater than the number of items in the iterator, then all or the implementation decidednumber of items are returned.

If the agreement plus the cursor of the iterator is greater than the number of items in the iterator, all or theimplementation decided number of items from the cursor to the end is returned.

Parameters:how_many - Maximum number of items to be returned, the implementation can decide to return less.

Member Summary

MethodsThresholdMonitor-

Value[]

getNext(int)157

void remove()158

157

Page 162: OSS Quality of Service API

TriggerRule

remove()

Returns: ThresholdMonitorValue[] List of threshold monitor jobs.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

remove()

public void remove()

throws java.rmi.RemoteException, javax.ejb.RemoveException

Remove the iterator.

When the client has finished iterating through the collection, he shall call this operation to allow resourcesto be freed.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

javax.ejb.RemoveException - Is raised if the implementation is an EJB and removal of the EJB could not be done.

TriggerRuleSyntaxpublic interface TriggerRule extends java.io.Serializable, java.lang.Cloneable

All Superinterfaces: java.lang.Cloneable, java.io.Serializable

DescriptionThe TriggerRule interface provides a mechanism for the configuration of rules that operate on the set of moni-tored components specified in a threshold monitor job. Alarms are triggered when a criteria specified by the rule is satisfied. All the rules defined in this interface are mutually exclusive. This interface is included to illustrate how the API could be extended to provide additional functionality. This interface is not implemented by the Reference Implementation.

Author: Audrey Ward

Version: 0.1, 2001-02-17

Member Summary

Fieldsint TRIGGER_RULE_ON_ALL_CROSSED159int TRIGGER_RULE_ON_ANY_CROSSED159int TRIGGER_RULE_ON_EACH_CROSSED159int TRIGGER_RULE_ON_NONE_CROSSED159

Methodsvoid setALLCrossed()159void setANYCrossed()159

158

Page 163: OSS Quality of Service API

TriggerRule

TRIGGER_RULE_ON_ALL_CROSSED

Fields

TRIGGER_RULE_ON_ALL_CROSSED

public static final int TRIGGER_RULE_ON_ALL_CROSSED

Constant for the rule that represents the setALLCrossed rule.

TRIGGER_RULE_ON_ANY_CROSSED

public static final int TRIGGER_RULE_ON_ANY_CROSSED

Constant for the rule that represents the setANYCrossed rule.

TRIGGER_RULE_ON_EACH_CROSSED

public static final int TRIGGER_RULE_ON_EACH_CROSSED

Constant for the rule that represents the setEACHCrossed rule.

TRIGGER_RULE_ON_NONE_CROSSED

public static final int TRIGGER_RULE_ON_NONE_CROSSED

Constant for the rule that represents the setNONECrossed rule.

Methods

setALLCrossed()

public void setALLCrossed()

This rule applies to the group of attributes defined in a threshold monitor job. If specifies that a singlethreshold alarm will be triggered when ALL of the its monitored components have reached a thresholdcrossed state. Another alarm will not be triggered until at least one of the monitored components hasreached the threshold cleared state. When this condition occurs, a threshold cleared alarm will be triggered.

setANYCrossed()

public void setANYCrossed()

void setEACHCrossed()160void setNONECrossed()160

Member Summary

159

Page 164: OSS Quality of Service API

TriggerRule

setEACHCrossed()

This rule applies to the group of attributes defined in a threshold monitor job. It specifies that a singlethreshold alarm will be triggered when ANY of its monitored components have reached a threshold crossedstate. Another alarm will not be triggered until ALL of the monitored components have reached the thresh-old cleared state. When this condition occurs, a threshold cleared alarm will be triggered.

setEACHCrossed()

public void setEACHCrossed()

Sets the rule that specifies that a threshold alarm will be triggered when ever any one of the monitoredattributes specified in the threshold monitor job has reached a threshold crossed state. Another alarm willnot be triggered for that attribute until it has reached a threshold cleared state. When this condition occurs,a threshold cleared alarm will be triggered. This rule is the default case when alarms are generated based onthe crossings of individual monitored attributes without considering the threshold crossings of otherattributes in the job.

setNONECrossed()

public void setNONECrossed()

This rule applies to the group of attributes defined in a threshold monitor job. It specifies that an alarm willbe triggered when NONE of its monitored components reach a threshold crossed state (the NOT of the set-ANYCrossed rule). Another alarm will not be triggered until at least ONE of its monitored componentshave reached the threshold crossed state. When this condition occurs, a threshold cleared alarm will be trig-gered. In other words, an alarm will be generated when all of the attributes are in a threshold cleared state.If any one of them goes to a threshold crossed state, a cleared alarm will be triggered.

160

Page 165: OSS Quality of Service API

C H A P T E R 10Package

javax.oss.pm.util

HourScheduleSyntaxpublic interface HourSchedule extends java.io.Serializable, java.lang.Cloneable

All Superinterfaces: java.lang.Cloneable, java.io.Serializable

DescriptionThe daily schedule specifies the time periods during the day when the schedule is active.

The hour schedule consist of two arrays of start times and end times, which defines the intervals when the schedule shall be active. The start time and end time lie between 00.00 and 24.00 hours.

Author: Stefan Ýberg

Version: 0.2, 2001-02-15

Class Summary

Interfaces

DayOfWeekSchedule163 The day of week schedule specifies the weekly time frames during which the schedule will be active.

HourSchedule161 The daily schedule specifies the time periods during the day when the schedule is active.

ObservableObjectClassIterator169

This interface manages retrieval of multiple observable object classes.

ObservableObjectIterator167

This interface manages retrieval of distinguished names for multiple observable objects.

Schedule171 Specifies the time frames during which the schedule will be active.

Exceptions

IllegalStateException167

The IllegalStateException represents an exception that is thrown if an operation is per-formed on a measurement job that is in an illegal state with respect to the particular operation being performed.

161

Page 166: OSS Quality of Service API

HourSchedule

getStartTimes()

Methods

getStartTimes()

public java.util.Calendar[] getStartTimes()

Returns the start times when the daily schedule shall be active.

Returns: String[] Array of start times the daily schedule shall be active.

getStopTimes()

public java.util.Calendar[] getStopTimes()

Returns the stop times when the daily schedule shall not be active.

Returns: String[] Array of stop times the daily schedule shall not be active.

isActive()

public boolean isActive()

Checks if the schedule is active or not.

If the current time is within the defined schedule this method will return true. If the current time is outsidethe schedule false will be returned.

The check will use the following fields in the Calendar:

• Calendar.HOUR_OF_DAY, • Calendar.MINUTE, • Calendar.SECOND

and the time zone.

Returns: boolean Returns true if the schedule is active, else false.

setStartTimes(Calendar[])

public void setStartTimes(java.util.Calendar[] startTimes)

Sets the start times when the daily schedule shall be active.

Parameters:startTimes - Array of start times which defines when the daily schedule shall be active.

Member Summary

MethodsCalendar[] getStartTimes()162Calendar[] getStopTimes()162

boolean isActive()162void setStartTimes(Calendar[])162void setStopTimes(Calendar[])163

162

Page 167: OSS Quality of Service API

DayOfWeekSchedule

setStopTimes(Calendar[])

setStopTimes(Calendar[])

public void setStopTimes(java.util.Calendar[] stopTimes)

Sets the stop times when the daily schedule shall not be active.

Parameters:stopTimes - Array of stop times which defines when the daily schedule shall not be active.

DayOfWeekScheduleSyntaxpublic interface DayOfWeekSchedule extends java.io.Serializable, java.lang.Cloneable

All Superinterfaces: java.lang.Cloneable, java.io.Serializable

DescriptionThe day of week schedule specifies the weekly time frames during which the schedule will be active.

Author: Stefan Ýberg

Version: 0.2, 2001-01-22

Member Summary

MethodsTimeZone getTimeZone()164boolean isActive()164boolean isFridayActive()164boolean isMondayActive()164boolean isSaturdayActive()164boolean isSundayActive()164boolean isThursdayActive()165boolean isTuesdayActive()165boolean isWednesdayActive()165

void setAllDaysActive()165void setFridayActive(boolean)165void setMondayActive(boolean)165void setSaturdayActive(boolean)165void setSundayActive(boolean)166void setThursdayActive(boolean)166void setTimeZone(TimeZone)166void setTuesdayActive(boolean)166void setWednesdayActive(boolean)166

163

Page 168: OSS Quality of Service API

DayOfWeekSchedule

getTimeZone()

Methods

getTimeZone()

public java.util.TimeZone getTimeZone()

Gets the time zone of the weekly schedule.

Returns: TimeZone The time zone of the weekly schedule.

isActive()

public boolean isActive()

Checks if the schedule is active or not.

If the current day of week is within the defined schedule this method will return true. If the current day ofweek is outside the schedule false will be returned.

Returns: boolean Returns true if the schedule is active, else false.

isFridayActive()

public boolean isFridayActive()

Indicate if the day of week schedule is active on Friday.

Returns: boolean Returns true if the day of week schedule is active on Friday, else it returns false.

isMondayActive()

public boolean isMondayActive()

Indicate if the day of week schedule is active on Monday.

Returns: boolean Returns true if the day of week schedule is active on Monday, else it returns false.

isSaturdayActive()

public boolean isSaturdayActive()

Indicate if the day of week schedule is active on Saturday.

Returns: boolean Returns true if the day of week schedule is active on Saturday, else it returns false.

isSundayActive()

public boolean isSundayActive()

Indicate if the day of week schedule is active on Sunday.

Returns: boolean Returns true if the day of week schedule is active on Sunday, else it returns false.

164

Page 169: OSS Quality of Service API

DayOfWeekSchedule

isThursdayActive()

isThursdayActive()

public boolean isThursdayActive()

Indicate if the day of week schedule is active on Thursday.

Returns: boolean Returns true if the day of week schedule is active on Thursday, else it returns false.

isTuesdayActive()

public boolean isTuesdayActive()

Indicate if the day of week schedule is active on Tuesday.

Returns: boolean Returns true if the day of week schedule is active on Tuesday, else it returns false.

isWednesdayActive()

public boolean isWednesdayActive()

Indicate if the day of week schedule is active on Wednesday.

Returns: boolean Returns true if the day of week schedule is active on Wednesday, else it returns false.

setAllDaysActive()

public void setAllDaysActive()

Sets all days of the week to be active in the day of weekly schedule.

setFridayActive(boolean)

public void setFridayActive(boolean fridayActive)

Sets if Friday shall be active in the day of weekly schedule.

Parameters:fridayActive - If true, Friday will be active in the day of weekly schedule. If false, Friday will not be active.

setMondayActive(boolean)

public void setMondayActive(boolean mondayActive)

Sets if Monday shall be active in the day of weekly schedule.

Parameters:mondayActive - If true, Monday will be active in the day of weekly schedule. If false, Monday will not be active.

setSaturdayActive(boolean)

public void setSaturdayActive(boolean saturdayActive)

Sets if Saturday shall be active in the day of weekly schedule.

165

Page 170: OSS Quality of Service API

DayOfWeekSchedule

setSundayActive(boolean)

Parameters:saturdayActive - If true, Saturday will be active in the day of weekly schedule. If false, Saturday will not be active.

setSundayActive(boolean)

public void setSundayActive(boolean sundayActive)

Sets if Sunday shall be active in the day of weekly schedule.

Parameters:sundayActive - If true, Sunday will be active in the day of weekly schedule. If false, Sunday will not be active.

setThursdayActive(boolean)

public void setThursdayActive(boolean thursdayActive)

Sets if Thursday shall be active in the day of weekly schedule.

Parameters:thursdayActive - If true, Thursday will be active in the day of weekly schedule. If false, Thursday will not be active.

setTimeZone(TimeZone)

public void setTimeZone(java.util.TimeZone tz)

Sets the time zone for the weekly schedule.

If the time zone is not set the local time zone will be used.

Parameters:tz - Time zone of the weekly schedule.

setTuesdayActive(boolean)

public void setTuesdayActive(boolean tuesdayActive)

Sets if Tuesday shall be active in the day of weekly schedule.

Parameters:tuesdayActive - If true, Tuesday will be active in the day of weekly schedule. If false, Tuesday will not be active.

setWednesdayActive(boolean)

public void setWednesdayActive(boolean wednesdayActive)

Sets if Wednesday shall be active in the day of weekly schedule.

Parameters:wednesdayActive - If true, Wednesday will be active in the day of weekly schedule. If false, Wednesday will not be active.

166

Page 171: OSS Quality of Service API

IllegalStateException

IllegalStateException()

IllegalStateExceptionSyntaxpublic class IllegalStateException extends java.lang.Exception

All Implemented Interfaces: java.io.Serializable

DescriptionThe IllegalStateException represents an exception that is thrown if an operation is performed on a measurement job that is in an illegal state with respect to the particular operation being performed.

Author: Stefan Ýberg

Version: 0.2, 2001-03-06

Constructors

IllegalStateException()

public IllegalStateException()

Constructs an IllegalStateException with no detail message

IllegalStateException(String)

public IllegalStateException(java.lang.String message)

Constructs an IllegalStateException with the specified detail message.

Parameters:message - The detail message.

ObservableObjectIteratorSyntaxpublic interface ObservableObjectIterator extends java.io.Serializable

Member Summary

ConstructorsIllegalStateException()167IllegalStateException(String)167

167

Page 172: OSS Quality of Service API

ObservableObjectIterator

IllegalStateException(String)

All Superinterfaces: java.io.Serializable

DescriptionThis interface manages retrieval of distinguished names for multiple observable objects.

Because the query operation could potentially return large amounts of data, the iterator design pattern is used for returning the results. An iterator is an object that is created to contain the results of an operation. The client receives a reference to the iterator as part of the information returned by the query operation. The client then invokes operations on the iterator to receive batches of results in sizes determined by the client. The iterator keeps track of how far through the results the client has progressed.

The semantic of the iterator is that it is returning a snapshot of the data matching the query expression at the moment the query was performed. If the underlying data are modified while the iteration is in progress, it will not affect the behavior of the iterator or the data values of the iterator.

For example the PerformanceMonitor interface support an operation to retrieve all supported observable objects below a specific object. Code on the client side would look like this:

ObservableObjectIterator ooIterator;String[] ooDNs; // Observable object distinguished name listpmsession = & // getting a reference to a performance monitor bean.//retrieve all the observable objects//and provide at most 10 values in the initial set.ooIterator = pmsession.getObservableObjects(“cell”,

“network=Sweden, ”+“meController=MEC-Gbg-1, ”+“managedElement=RNC-Gbg-1, ”+“radioFunction=RF-1”);

//retrieve the 10 initial observable objectsooDNs = ooIterator.getNext( 10 );while(ooDNs.length) {

for( int I=0; I < ooDNs.length; I++) {System.out.println( ooDNs[I].toString() );

}ooDNs = ooIterator.getNext( 10 );

}ooIterator.remove();

Author: Stefan Ýberg

Version: 0.3, 2001-02-06

Member Summary

MethodsString[] getNext(int)169

void remove()169

168

Page 173: OSS Quality of Service API

ObservableObjectClassIterator

getNext(int)

Methods

getNext(int)

public java.lang.String[] getNext(int how_many)

throws java.rmi.RemoteException

Returns a list of observable object distinguished names.

The function takes one argument that specifies the most number of items to return. The implementation candecide to return less or the requested number of items.

If zero is specified and empty list is returned.

If the iteration is empty or has reached then end, null is returned.

If the argument is greater than the number of item in the iterator then all or implementation decided numberof items are returned.

If the agreement plus the cursor of the iterator is greater than the number of item in the iterator, all or imple-mentation decided number of items from the cursor to the end is returned.

Parameters:how_many - Maximum of items to return, the implementation can decide to return less.

Returns: String[] List of observable object distinguished names.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

remove()

public void remove()

throws java.rmi.RemoteException, javax.ejb.RemoveException

Remove the iterator.

When the client has finished iterating through the collection, he shall call this operation to allow resourcesto be freed.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

javax.ejb.RemoveException - Is raised if the implementation is an EJB and removal of the EJB could not be done.

ObservableObjectClassIteratorSyntaxpublic interface ObservableObjectClassIterator extends java.io.Serializable

All Superinterfaces: java.io.Serializable

DescriptionThis interface manages retrieval of multiple observable object classes.

169

Page 174: OSS Quality of Service API

ObservableObjectClassIterator

getNext(int)

tion can

Because the query operation could potentially return large amounts of data, the iterator design pattern is used for returning the results. An iterator is an object that is created to contain the results of an operation. The client receives a reference to the iterator as part of the information returned by the query operation. The client then invokes operations on the iterator to receive batches of results in sizes determined by the client. The iterator keeps track of how far through the results the client has progressed.

The semantic of the iterator is that it is returning a snapshot of the data matching the query expression at the moment the query was performed. If the underlying data are modified while the iteration is in progress, it will not affect the behavior of the iterator or the data values of the iterator.

For example the PerformanceMonitor interface support an operation to retrieve all supported observable object classes. Code on the client side would look like this:

ObservableObjectClassIterator oocIterator;String[] oocNames;pmsession = & // getting a reference to a performance monitor bean.//retrieve all the observable object classes//and provide at most 10 values in the initial set.oocIterator = pmsession.getObservableObjectClasses();//retrieve the 10 initial observable object classesoocNames = oocIterator.getNext( 10 );while(oocNames.length) {

for( int I=0; I < oocNames.length; I++) {System.out.println( oocNames[I]);

}oocNames = oocIterator.getNext( 10 );

}oocIterator.remove();

Author: Stefan Ýberg

Version: 0.3, 2001-02-06

Methods

getNext(int)

public java.lang.String[] getNext(int how_many)

throws java.rmi.RemoteException

Returns a list of observable object classes names.

The function takes one argument that specifies the most number of items to return. The implementadecide to return less or the requested number of items.

If zero is specified and empty list is returned.

Member Summary

MethodsString[] getNext(int)170

void remove()171

170

Page 175: OSS Quality of Service API

Schedule

remove()

If the iteration is empty or has reached then end, null is returned.

If the argument is greater than the number of item in the iterator then all or implementation decided numberof items are returned.

If the agreement plus the cursor of the iterator is greater than the number of item in the iterator, all or imple-mentation decided number of items from the cursor to the end is returned.

Parameters:how_many - Maximum of items to return, the implementation can decide to return less.

Returns: String[] List of observable object class names.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurrs.

remove()

public void remove()

throws java.rmi.RemoteException, javax.ejb.RemoveException

Remove the iterator.

When the client has finished iterating through the collection, he shall call this operation to allow resourcesto be freed.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurs.

javax.ejb.RemoveException - Is raised if the implementation is an EJB and removal of the EJB could not be done.

ScheduleSyntaxpublic interface Schedule extends java.io.Serializable, java.lang.Cloneable

All Superinterfaces: java.lang.Cloneable, java.io.Serializable

DescriptionSpecifies the time frames during which the schedule will be active.

The schedule is active as soon as the start time - if supplied - is reached. The schedule remains active until the stop time - if supplied - is reached. If no stop time is specified the schedule will active indefinitely. The time frame defined by the schedule may contain one or more intervals. These intervals may repeat on a daily and/or weekly basis and specify the time periods during which the schedule is active. A daily schedule includes a start time and end time, which lie between 00.00 and 24.00 hours. If daily schedule is omitted, the schedule will run continuously through the day. If weekly schedule is omitted the schedule will run all days of the week. Alterna-tively the weekly schedule will indicate which days of the week the schedule will be active on.

The timer-synchronization between the client and the server is not part of this interface and is left over to the implementers. However the implementations need to handle different time zones.

Author: Stefan Ýberg

171

Page 176: OSS Quality of Service API

Schedule

getDailySchedule()

Version: 0.1, 2001-02-15

Methods

getDailySchedule()

public HourSchedule161 getDailySchedule()

Gets the daily schedule of the schedule.

Returns: HourSchedule The daily schedule of the schedule or null if daily schedule is not set.

getStartTime()

public java.util.Calendar getStartTime()

Returns the start time.

Returns: Date Start time of the schedule or null if the start time is not set.

getStopTime()

public java.util.Calendar getStopTime()

Returns the stop time of the schedule.

Returns: Date Stop time of the schedule or null if the stop time is not set.

getWeeklySchedule()

public DayOfWeekSchedule163 getWeeklySchedule()

Gets the weekly schedule of the schedule.

Returns: DayOfWeekSchedule The weekly schedule of the schedule or null if weekly schedule is not set.

Member Summary

MethodsHourSchedule getDailySchedule()172

Calendar getStartTime()172Calendar getStopTime()172

DayOfWeekSchedule getWeeklySchedule()172boolean isActive()173

void setDailySchedule(HourSchedule)173void setStartTime(Calendar)173void setStopTime(Calendar)173void setWeeklySchedule(DayOfWeekSchedule)173

172

Page 177: OSS Quality of Service API

Schedule

isActive()

isActive()

public boolean isActive()

Checks if the schedule is active or not.

If the current date and time is within the defined schedule this method will return true. If the current dateand time is outside the schedule false will be returned.

Returns: boolean Returns true if the schedule is active, else false.

setDailySchedule(HourSchedule)

public void setDailySchedule(HourSchedule161 dailySchedule)

Sets the daily schedule of the schedule.

The daily schedule specifies the time frames during the day that the schedule will be active. If daily sched-ule is omitted, the schedule will run continuously through the day.

If daily schedule is null the daily schedule will be cleared.

Parameters:dailySchedule - The daily schedule of the schedule.

setStartTime(Calendar)

public void setStartTime(java.util.Calendar startTime)

Sets the start time of the schedule.

The start time specifies when the schedule shall start to be active. If no start time is provided, the scheduleis active immediately.

If start time is null the start time will be cleared.

Parameters:startTime - Start time of the schedule.

setStopTime(Calendar)

public void setStopTime(java.util.Calendar stopTime)

Sets the stop time of the schedule.

The stop time specifies when the schedule shall stop. The schedule will remain active until the stop time - ifset - is reached. If no stop time is specified the schedule will be active indefinitely.

If stop time is null the stop time will be cleared.

Parameters:stopTime - Stop time of the measurement job.

setWeeklySchedule(DayOfWeekSchedule)

public void setWeeklySchedule(DayOfWeekSchedule163 weekSchedule)

Sets the weekly schedule of the schedule.

173

Page 178: OSS Quality of Service API

Schedule

setWeeklySchedule(DayOfWeekSchedule)

The weekly schedule specifies which day of the week the schedule will be active. If weekly schedule isomitted the schedule will run all days of the week.

If weekly schedule is null the weekly schedule will be cleared.

Parameters:weekSchedule - The weekly schedule of the schedule.

174

Page 179: OSS Quality of Service API

C H A P T E R 11Package

javax.oss.fm.monitorDescriptionThis package refers to systems capabilities to collect, maintain and forward alarm information that is received from the network.

The package defines an API for collecting alarms and synchronizing alarm data with Fault Management (FM) system. Additionally it is possible to change the acknowledgement state of the alarm - the operation that is useful for keeping track of alarms that are handled by the operator personnel or the management application. The functionality that this API provides is generally referred as “alarm monitoring” in the OSS domain.

The API can be used for providing standard interface between hierarchically higher- level FM system and a lower level FM system, or as an interface between FM system and more sophisticated network management application, such as Service Quality Manager.

Alarms and Fault Management A network element (NE) emits an alarm notification to the FM system when it’s self- checking routine has detected a possible fault in the NE. One defect in the NE can often cause several faults and therefore several alarms to be sent to the FM system.The FM system maintains Alarm List where all received alarms are stored. In addition to the collected alarm information, the Alarm List contains additional information for each alarm, such as alarm acknowledgement state, which is used for managing alarms.

When the NE detects that the possible fault in the NE has disappeared (e.g. as a consequence of circuit replacement done by maintenance personnel), it emits an ’alarm cleared’ notification to the FM system which can be correlated to the original alarm via alarmID-number. When both the perceived serverity of an alarm is ’CLEARED’ and alarm acknowledgement state is ’ACKNOWLEDGED’, the FM system may remove the alarm from Alarm List.

Note that an alarm explicitly mirrors a condition in the managed network element, and it’s therefore not meaningful to allow create or clear alarms by other means than by letting the NE do it. Therefore it’s not possible to create or clear alarms via this API.

API features The package defines the monitoring functions that Fault Management system shall support. The functions are:

• Acknowledge alarms in Alarm List; • Unacknowledge alarms in Alarm List; • Query Alarm List; • Query alarm count from Alarm List.

175

Page 180: OSS Quality of Service API

javax.oss.fm.monitor

Furthermore this package defines an Alarm Event and a List Rebuild Event used for keeping an alarm data between FM systems and clients consistent. These events are:

• New alarm (alarm event); • Changed alarm (alarm event); • Ack state changed (alarm event); • Cleared alarm (alarm event); • Alarm list rebuild event.

Function ’Acknowledge alarms in Alarm List’ The user of this API can set the alarm acknowledgement state for one or more alarms as ’ACKNOWLEDGED’ by using this function. The exact semantics of the alarm acknowledgement state and how the client should use it is not defined in this specification. However, the FM system is allowed to remove the alarm from Alarm List when it’s acknowledgement state set is ’ACKNOWLEDGED’ and perceived severity is ’CLEARED’. When this function has been executed, the FM system emits corresponding ’Ack state changed’ event.

Function ’Unacknowledge alarms in Alarm List’ The user of this API can set the alarm acknowledgement state for one or more alarms as ’UNACKNOWLEDGED’ by using this function. See the previous chapter ’Acknowledging alarms in Alarm List’ for more details about alarm acknowledgement state.

Function ’Query Alarm List’ The user of this API can retrieve Alarm List from FM system by using this function. The user may choose to retrieve all alarms, or it may ask to retrieve only a particular alarm subset by defining a set of query values that are used as an alarm filter. Alarms are retrieved by using the iterator-pattern.

This operation is designed to be used when a new alarm client has connected to the FM system and it needs to synchronize its empty alarm list with the FM system. Additionally the FM system may explicitly ask alarm clients to do alarm synchronization by emitting ’Alarm List Rebuild Event’. This is used when there have been such change in the Alarm List which can not be transferred to the alarm clients by other means such as alarm events.

Function ’Query alarm count from Alarm List’ The user of this API can retrieve the number of alarms in FM systems’ Alarm List by using this function. The user may choose to retrieve number of all alarms, or it may ask to retrieve only a number of alarms in particular alarm subset by defining a set of query values that are used as an alarm filter.

The main purpose of this function is to provide alarm client information about Alarm List and filter efficiency prior initiating alarm query. This is needed because the possible number of returned alarms can be very big in some systems. By calling this operation the alarm client can either be prepared to retrieve big number of alarms or it can define more efficient filter prior initiating the alarm query.

Alarm event ’NewAlarm’ API server notifies the subscribed API clients that a new alarm has been added into the Alarm List by sending an alarm which extended alarm type is ’NewAlarm’.

176

Page 181: OSS Quality of Service API

javax.oss.fm.monitor

Alarm event ’ChangedAlarm’ API server notifies subscribed API client regarding changes in e.g. perceived severity level in Alarm in Alarm List. The Alarm carried in the notification shall satisfy the current filter constraint of the subscription. The information carried in this notification contains all attributes that are filterable and are present in the original NewAlarmEvent.

Alarm event ’AckStateChanged’ API server notifies the subscribed API clients regarding changes in Alarm Acknowledgement State in Alarm in Alarm List via JMS. Prior receiving the al The Alarm carried in the event shall satisfy the current filter constraint of the subscription. If the alarm Acknowledgement State is changed to acknowledged, the Acknowledgement Information of the Alarm in Alarm List shall contain ackTime and ackState indicating acknowledged. It may contain ackUserId and ackSystemId. The Alarm carried in the event shall contain identical set of parameters as well. If the Acknowledgement State is changed to unacknowledged, the Acknowledgement Information of the Alarm in the Alarm List shall be absent or shall contain no information. The Alarm carried in the event shall have the Acknowledgement Information. It shall contain ackUserId, ackTime and ackState indicating unacknowledged. It may contain ackSystemId. The information carried in this notification contains all attributes that are filterable and are present in the original NewAlarmEvent.

Alarm event ’ClearedAlarm’ API server notifies subscribed API client of alarm clearing if the subject Alarm satisfies the optional filter constraint expressed in the subscribe operation. API server shall remove the Alarm whose perceivedSeverity is cleared and its Acknowledgement State is acknowledged from Alarm List. The information carried in this notification contains all attributes that are filterable and are present in the original NewAlarmEvent.

Event ’AlarmListRebuild’ API server maintains an Alarm List. If the API server rebuilds this list for any reason, it shall notify API client after the Alarm List is rebuilt. The conditions under which API client shall rebuild and the means by which API server shall rebuild its Alarm List are outside the scope of this API.

Package interfaces The fault monitor package consists of tree types of interfaces:

• EJB interfaces; • Value object interfaces; • Event interfaces.

<add object model figures here>

177

Page 182: OSS Quality of Service API

javax.oss.fm.monitor

ervice

on Set

.

.

Related documentation The following external documents are applicable for the specification:

• 3GPP TS 32.111-1: 3G Fault Management; Part 1: 3G Fault Management Requirements, R99; • 3GPP TS 32.111-2: 3G Fault Management; Part 2: Alarm Integration Reference Point: Information S

Version 1, R99; • 3GPP TS 32.106: 3G Fault Management; Part 3: Alarm Integration Reference Point: CORBA Soluti

Version 1:1, R99; • 3GPP TS 32.106-8 <for name convention regarding to distinguished name> • ITU-T Recommendation X.733; • ITU-T Recommendation X.736.

Class Summary

Interfaces

AlarmAckState179 This interface defines possible values for alarm acknowledgement state.

AlarmByFilterableAttributesQueryDesciptor180

This interface contains defionitions that are used for constructing alarm queries.

AlarmCountsValue181 This interface repesents number of alarms for each severity class gategory that are defined in javax.oss.fm.monitor.PerceivedSeverity interface.

AlarmEvent183 This interface represents the payload of the alarm event.

AlarmEventPropertyDescriptor184

The AlarmEventPropertyDescriptor interface is equivalent to an enumerated type - it is a public interface with string based static fields and is used to declare what event attributes are filterable and what are their types.

AlarmListRebuiltEvent186

This interface presents the payload of the event that is sent when API server requests clients to re-syncronize alarm list.

AlarmListRebuiltEventPropertyDescriptor187

The AlarmListRebuildEventPropertyDescriptor interface is equivalent to an enumer-ated type - it is a public interface with string based static fields and is used to declare what event attributes are filterable and what are their types.

AlarmMonitor188 The AlarmMonitor refers to systems capabilities to collect, maintain and forward alarm information that is received from the network.

AlarmMonitorHome189 The Alarm Monitor Home interface is the factory to create new remote interfaces to Alarm Monitor beans.

AlarmMonitorMethods190 The AlarmMonitorMethods interface defines the business functions for the Alarm-Monitor remote interface and the bean implementation.

AlarmOperationResult194

This interface reperesents operation result ’bad alarm reference’.

AlarmType202 This interface identifies all TMN ITU-T defined alarm event types used by this API

AlarmValue195 Represents alarm attribute values.

AlarmValueIterator200 This interface manage retrival of alarm list.

AttributeValue204 This interface represents attribute value.

AttributeValueChange205

This interface represents changed attribute value including both old and new value

BackedUpStatusType206 It indicates if an object has a back up.

178

Page 183: OSS Quality of Service API

AlarmAckState

t

AlarmAckStateSyntaxpublic interface AlarmAckState extends java.io.Serializable

All Superinterfaces: java.io.Serializable

DescriptionThis interface defines possible values for alarm acknowledgement state. The alarm acknowledgement state is a part of the alarm information that is stored in FM systems Alarm List. It is used for management purposes only to mark alarms that are handled by operator or client application. The state of the new alarm is always set as ’UNACKNOWLEDGED’. After the alarm perceived serverity is set as ’CLEARED’ and acknowledgemenstate as ’ACKNOWLEDGED’, the alarm can be removed from FM systems Alarm List.

Author: Juha Laine

Version: 0.7, 2001-04-23

See Also: AlarmValue195

CorrelatedNotificationValue207

This interface represents correlated notification identifier.

ExtendedAlarmType208 This interface contains definitions for 3GPP defined event types used by this API.

FilterableAttributesValue209

The interface represents filterable alarm attribute values that are used as a filter in alarm query.

PerceivedSeverity212 This interface contains definitions for alarm severity classes.

ProbableCause213 This interface contains definions for probable causes that are used in reported alarms.

ThresholdIndicationType231

This interface contains definitions for threshold indication types.

TrendIndicationType232 This interface contains definitions for trend indication types for observed conditions.

Member Summary

Fieldsint ACKNOWLEDGED180int UNACKNOWLEDGED180

Class Summary

179

Page 184: OSS Quality of Service API

AlarmByFilterableAttributesQueryDesciptor

ACKNOWLEDGED

Fields

ACKNOWLEDGED

public static final int ACKNOWLEDGED

Operator or client application has marked the alarm as handled. E.g. after a new trouble ticket thataddresses the alarm has been created.

UNACKNOWLEDGED

public static final int UNACKNOWLEDGED

The alarm is currently not being handled by the operator or alarm client. This is the default state of the newalarm.

AlarmByFilterableAttributesQuery-DesciptorSyntaxpublic interface AlarmByFilterableAttributesQueryDesciptor extends QueryDescriptor244

All Superinterfaces: QueryDescriptor244

DescriptionThis interface contains defionitions that are used for constructing alarm queries.

Author: Juha Laine

Version: 0.7, 2001-04-23

See Also: javax.oss.fm.AlarmMonitorMethods.getQueryTypes, javax.oss.fm.Alarm-MonitorMethods.makeQueryValue

Member Summary

FieldsString FILTERABLE_ATTRIBUTES_ARG_NAME181String FILTERABLE_ATTRIBUTES_ARG_TYPE181String QUERY_NAME_VALUE181

180

Page 185: OSS Quality of Service API

AlarmCountsValue

FILTERABLE_ATTRIBUTES_ARG_NAME

Fields

FILTERABLE_ATTRIBUTES_ARG_NAME

public static final java.lang.String FILTERABLE_ATTRIBUTES_ARG_NAME

String definition for filterable attributes argument name.

FILTERABLE_ATTRIBUTES_ARG_TYPE

public static final java.lang.String FILTERABLE_ATTRIBUTES_ARG_TYPE

String definition for filterable attributes argument interface type.

See Also: javax.oss.fm.FilterableAttributesValue

QUERY_NAME_VALUE

public static final java.lang.String QUERY_NAME_VALUE

Name of the AlarmByFilterrableAttributes query.

AlarmCountsValueSyntaxpublic interface AlarmCountsValue extends java.io.Serializable

All Superinterfaces: java.io.Serializable

DescriptionThis interface repesents number of alarms for each severity class gategory that are defined in javax.oss.fm.monitor.PerceivedSeverity interface.

The interface defines return value for method javax.oss.fm.monitor.AlarmMonitorMethods.queryAlarmCount and it does not have other designed purpose.

Author: Juha Laine

Version: 0.7, 2001-04-23

See Also: javax.oss.fm.monitor.AlarmMonitorMethods.queryAlarmCount, PerceivedSeverity212

Member Summary

Methodsint getClearedCount()182

181

Page 186: OSS Quality of Service API

AlarmCountsValue

getClearedCount()

Methods

getClearedCount()

public int getClearedCount()

Returns number of alarms which perceived severity classification is ’CLEARED’.

Returns: int - count

getCriticalCount()

public int getCriticalCount()

Returns number of alarms which perceived severity classification is ’CRITICAL’.

Returns: int - count

getIndeterminateCount()

public int getIndeterminateCount()

Returns number of alarms which perceived severity classification is ’INDETERMINATE’.

Returns: int - count

getMajorCount()

public int getMajorCount()

Returns number of alarms which perceived severity classification is ’MAJOR’.

Returns: int - count

getMinorCount()

public int getMinorCount()

Returns number of alarms which perceived severity classification is ’MINOR’.

Returns: int - count

getWarningCount()

public int getWarningCount()

int getCriticalCount()182int getIndeterminateCount()182int getMajorCount()182int getMinorCount()182int getWarningCount()182

Member Summary

182

Page 187: OSS Quality of Service API

AlarmEvent

getAlarm()

an be

Returns number of alarms which perceived severity classification is ’WARNING’.

Returns: int - count

AlarmEventSyntaxpublic interface AlarmEvent extends Event235

All Superinterfaces: java.lang.Cloneable, Event235, java.io.Serializable

DescriptionThis interface represents the payload of the alarm event. It is common to all alarm types.

Different alarm types are distinguished by the value of ExtendedAlarmType parameter attribute, which cread from every alarm event by invoking the getExtendedAlarmType() method.

Alarm types are defined in javas.oss.fm.monitor.ExtendedAlarmTypes interface.

Author: Juha Laine

Version: 0.7, 2001-04-23

See Also: javax.oss.fm.monitor.AlarmEventPropertyDesrciptor, javas.oss.fm.monitor.ExtendedAlarmTypes, description for information how alarm events are used

Methods

getAlarm()

public AlarmValue195 getAlarm()

Returns the alarm information.

getExtendedAlarmType()

public java.lang.String getExtendedAlarmType()

Returns the extended alarm type that is used for distinguishing different type of alarm events.

Member Summary

MethodsAlarmValue getAlarm()183

String getExtendedAlarmType()183

183

Page 188: OSS Quality of Service API

AlarmEventPropertyDescriptor

EVENT_TYPE_VALUE

with es.

Valid return values are:

• ExtendedAlarmType.NEW_ALARM, • ExtendedAlarmType.ACK_STATE_CHANGE, • ExtendedAlarmType.CHANGED_ALARM, • ExtendedAlarmType.CLEARED_ALARM

AlarmEventPropertyDescriptorSyntaxpublic interface AlarmEventPropertyDescriptor extends EventPropertyDescriptor237

All Superinterfaces: EventPropertyDescriptor237, java.io.Serializable

DescriptionThe AlarmEventPropertyDescriptor interface is equivalent to an enumerated type - it is a public interfacestring based static fields and is used to declare what event attributes are filterable and what are their typ

Author: Juha Laine

Version: 0.7, 2001-04-23

Fields

EVENT_TYPE_VALUE

public static final java.lang.String EVENT_TYPE_VALUE

Name of event

Member Summary

FieldsString EVENT_TYPE_VALUE184String EXTENDED_ALARM_TYPE_PROP_NAME185String EXTENDED_ALARM_TYPE_PROP_TYPE185String MANAGED_OBJECT_CLASS_PROP_NAME185String MANAGED_OBJECT_CLASS_PROP_TYPE185String MANAGED_OBJECT_INSTANCE_PROP_NAME185String MANAGED_OBJECT_INSTANCE_PROP_TYPE185String PERCEIVED_SEVERITY_PROP_NAME185String PERCEIVED_SEVERITY_PROP_TYPE185

MethodsAlarmEvent fromJMS(Message)185

Message toJMS(AlarmEvent, Session)186

184

Page 189: OSS Quality of Service API

AlarmEventPropertyDescriptor

EXTENDED_ALARM_TYPE_PROP_NAME

EXTENDED_ALARM_TYPE_PROP_NAME

public static final java.lang.String EXTENDED_ALARM_TYPE_PROP_NAME

EXTENDED_ALARM_TYPE_PROP_TYPE

public static final java.lang.String EXTENDED_ALARM_TYPE_PROP_TYPE

MANAGED_OBJECT_CLASS_PROP_NAME

public static final java.lang.String MANAGED_OBJECT_CLASS_PROP_NAME

MANAGED_OBJECT_CLASS_PROP_TYPE

public static final java.lang.String MANAGED_OBJECT_CLASS_PROP_TYPE

MANAGED_OBJECT_INSTANCE_PROP_NAME

public static final java.lang.String MANAGED_OBJECT_INSTANCE_PROP_NAME

MANAGED_OBJECT_INSTANCE_PROP_TYPE

public static final java.lang.String MANAGED_OBJECT_INSTANCE_PROP_TYPE

PERCEIVED_SEVERITY_PROP_NAME

public static final java.lang.String PERCEIVED_SEVERITY_PROP_NAME

PERCEIVED_SEVERITY_PROP_TYPE

public static final java.lang.String PERCEIVED_SEVERITY_PROP_TYPE

Methods

fromJMS(Message)

public AlarmEvent183 fromJMS(javax.jms.Message msg)

Extract the payload from the JMS message.

Parameters:msg - Message to be converted to AlarmEvent.

Returns: AlarmEvent - Returns the payload of the message.

185

Page 190: OSS Quality of Service API

AlarmListRebuiltEvent

toJMS(AlarmEvent, Session)

toJMS(AlarmEvent, Session)

public javax.jms.Message toJMS(AlarmEvent183 payload, javax.jms.Session session)

Create new JMS message that can be sent on JMS with all properties set.

Parameters:payload - Content of the message.

session - Session needed for constructing the message.

Returns: Message - JMS object message with payload and the properties set.

AlarmListRebuiltEventSyntaxpublic interface AlarmListRebuiltEvent extends Event235

All Superinterfaces: java.lang.Cloneable, Event235, java.io.Serializable

DescriptionThis interface presents the payload of the event that is sent when API server requests clients to re-syncronize alarm list.

Author: Juha Laine

Version: 0.7, 2001-04-23

See Also: desciption for information how AlarmListRebuild

Methods

getExtendedAlarmType()

public java.lang.String getExtendedAlarmType()

Returns the extended alarm type. Valid return values are:

• ExtendedAlarmType.ALARM_LIST_REBUILT.

Member Summary

MethodsString getExtendedAlarmType()186String getReason()187

186

Page 191: OSS Quality of Service API

AlarmListRebuiltEventPropertyDescriptor

getReason()

lic at are

getReason()

public java.lang.String getReason()

Returns reason for alarm list rebuild.

Returns: String - Alarm List rebuilt reason. One valid reason is “indeterminate”.

AlarmListRebuiltEventPropertyDe-scriptorSyntaxpublic interface AlarmListRebuiltEventPropertyDescriptor extends EventPropertyDescriptor237

All Superinterfaces: EventPropertyDescriptor237, java.io.Serializable

DescriptionThe AlarmListRebuildEventPropertyDescriptor interface is equivalent to an enumerated type - it is a pubinterface with string based static fields and is used to declare what event attributes are filterable and whtheir types.

Author: Juha Laine

Version: 0.7, 2001-04-23

Fields

EVENT_TYPE_VALUE

public static final java.lang.String EVENT_TYPE_VALUE

Event type.

Member Summary

FieldsString EVENT_TYPE_VALUE187

MethodsAlarmListRebuiltEvent fromJMS(Message)188

Message toJMS(AlarmListRebuiltEvent, Session)188

187

Page 192: OSS Quality of Service API

AlarmMonitor

fromJMS(Message)

d it’s t the new een cre-

ED’

wl-

Methods

fromJMS(Message)

public AlarmListRebuiltEvent186 fromJMS(javax.jms.Message msg)

Extract the payload from the JMS message.

Parameters:msg - Message to be converted to AlarmEvent.

Returns: AlarmListRebuiltEvent - Returns the payload of the message.

toJMS(AlarmListRebuiltEvent, Session)

public javax.jms.Message toJMS(AlarmListRebuiltEvent186 payload,

javax.jms.Session session)

Create new JMS message that can be sent on JMS with all properties set.

Parameters:payload - Content of the message.

session - Session needed for constructing the message.

Returns: Message - JMS object message with payload and the properties set.

AlarmMonitorSyntaxpublic interface AlarmMonitor extends javax.ejb.EJBObject, AlarmMonitorMethods190

All Superinterfaces: AlarmMonitorMethods190, javax.ejb.EJBObject, java.rmi.Remote

DescriptionThe AlarmMonitor refers to systems capabilities to collect, maintain and forward alarm information that is received from the network. The client can modify the alarm acknowledgement state. Other alarm information is received from the network and the client can not modify it through this API.

This inteface defines functions that alarm monitoring server shall support. These functions are:

• Acknowledge alarms • Unacknowledge alarms • Query Alarm List • Query alarm count from Alarm List

Acknowledge alarms - When a new alarm has been received from the network it is added to alarm list anacknowledgement state is set as unset. Client can then later set the state as ’acknowledged’ to mark thaalarm has been noticed and possible correcting actions has been started (e.g. a new trouble ticket has bated). An alarm which perceived severity is ’CLEARED’ and acknowledgement state is ’ACKNOWLEDGis removed from alarm list.

Unacknowledge alarms - Client can cancel the alarm acknowledgement e.g. in the case that it was acknoedged accidentally.

188

Page 193: OSS Quality of Service API

AlarmMonitorHome

toJMS(AlarmListRebuiltEvent, Session)

Query alarm list - Alarm monitoring system maintains alarm list. The client can query the alarm list and filter returned alarms by using query values.

Query alarm count from alarm list - The client can query the number of alarms in systems alarm list. The cli-ent can filter returned alarms using a set of query values. Because the systems alarm list can be very large, it may be necessary to query alarm count prior to quering the actual alarm list for testing that filtering constraints are efficient.

Author: Juha Laine

Version: 0.7, 2001-04-23

AlarmMonitorHomeSyntaxpublic interface AlarmMonitorHome extends javax.ejb.EJBHome

All Superinterfaces: javax.ejb.EJBHome, java.rmi.Remote

DescriptionThe Alarm Monitor Home interface is the factory to create new remote interfaces to Alarm Monitor beans.

The Alarm Monitor Home interface is registered in JNDI as part of the Alarm Monitor Beans deployment pro-cess. The AlarmMonitorHome is registered under naming attributes which can be used to find the Alarm-MonitorHome interface.

The following code illustrates how to find a AlarmMonitorHome interface.

Context initial = new InitialContext();java.lang.Object objref = initial.lookup(“Nokia/RAN/AlarmMonitor”);AlarmMonitorHome fmHome =(AlarmMonitorHome)PortableRemoteObject.narrow(objref, AlarmMon

itorHome.class);// Create the remote interface of Alarm MonitorAlarmMonitor fmSession = fmHome.create();// Do something

Author: Juha Laine

Version: 0.7, 2001-04-23

Member Summary

MethodsAlarmMonitorMethods create()190

189

Page 194: OSS Quality of Service API

AlarmMonitorMethods

create()

Methods

create()

public AlarmMonitorMethods190 create()

throws CreateException, java.rmi.RemoteException

Creates a new instance of the Alarm Monitor bean.

Returns: AlarmMonitor The remote interface to the new object.

Throws:CreateException - Is raised if a failure to create a new Alarm monitor bean.

java.rmi.RemoteException - Is raised when a unexpected system exception occurrs.

CreateException

AlarmMonitorMethodsSyntaxpublic interface AlarmMonitorMethods

All Known Subinterfaces: AlarmMonitor188

DescriptionThe AlarmMonitorMethods interface defines the business functions for the AlarmMonitor remote interface and the bean implementation.

By providing the business operations in a seperat interface allows the bean implementators to get compile time checks that their bean will work with the remote interface.

The AlarmMonitorMethods interface provides operations for basic alarm monitoring. Client can retrieve alarm list from server and acknowledge alarms through this interface.

Client can also retrieve necessary information for receiving OSS notifications from the server.

Author: Juha Laine

Version: 0.7, 2001-04-23

Member Summary

MethodsEventPropertyDescrip-

tor

getEventDescriptor(String)191

String[] getEventTypes()191String[] getQueryTypes()191String[] getSupportedOptionalOperations()191

QueryValue makeQueryValue(String)192AlarmCountsValue queryAlarmCounts(QueryValue[])192

190

Page 195: OSS Quality of Service API

AlarmMonitorMethods

getEventDescriptor(String)

Methods

getEventDescriptor(String)

public EventPropertyDescriptor237 getEventDescriptor(java.lang.String event_type)

throws javax.oss.UnsupportedOperationException, java.rmi.RemoteException

Get the Event Descriptor associated with an event type Valid input parameters are returned by getEvent-Types()

Throws:UnsupportedOperationException244 - - Is raised if this operation is not supported.

java.rmi.RemoteException - - Is raised when a unexpected system exception occurs.

getEventTypes()

public java.lang.String[] getEventTypes()

throws java.rmi.RemoteException

Get the event type names supported by the session component.

All implementations must support at least event types AlarmEventProperty-Desciptor.EVENT_TYPE_VALUE and AlarmListRebuildEventProperty-Desciptor.EVENT_TYPE_VALUE.

Throws:java.rmi.RemoteException - - Is raised when a unexpected system exception occurrs.

getQueryTypes()

public java.lang.String[] getQueryTypes()

throws java.rmi.RemoteException

Get query types supported by the session component. All implementations must support at least query typeAlarmByFilterableAlarmAttributesQueryDesciptor.QUERY_NAME_VALUE.

Throws:java.rmi.RemoteException - - Is raised when a unexpected system exception occurrs.

getSupportedOptionalOperations()

public java.lang.String[] getSupportedOptionalOperations()

throws java.rmi.RemoteException

AlarmValueIterator queryAlarmList(QueryValue[])192AlarmOperationRe-

sult[]

tryAcknowledgeAlarms(String[], String, int)193

AlarmOperationRe-sult[]

tryUnacknowledgeAlarms(String[], String, int)194

Member Summary

191

Page 196: OSS Quality of Service API

AlarmMonitorMethods

makeQueryValue(String)

Id )

are

tQuery-

tion.

arm-

ries

Get the supported optional operations.

Some of the operations on the alarm monitor bean are optional. This operation gives information on whichoptional operations are implemented and will not throw UnsupportedOperationException.

The following operation prototypes can be returned:

• BadAlarmReferenceValue[] unacknowledgeAlarms( String[], String ackUserId, String ackSystem

Returns: String[] List of operation names that will not throw UnsupportedOperationException, if theycalled.

Throws:java.rmi.RemoteException - - Is raised when a unexpected system exception occurrs.

makeQueryValue(String)

public QueryValue244 makeQueryValue(java.lang.String type)

throws javax.oss.IllegalArgumentException, java.rmi.RemoteException

Create a Query Value instance matching a Query type. Valid input parameters are returned by geTypes().

Throws:IllegalArgumentException239 - - Is raised when a bad argument is provided.

java.rmi.RemoteException - - Is raised when a unexpected system exception occurs.

queryAlarmCounts(QueryValue[])

public AlarmCountsValue181 queryAlarmCounts(QueryValue244[] query)

throws javax.oss.IllegalArgumentException, java.rmi.RemoteException

Returns amount of Alarms kept in server.

Possible usage is to find out the number of Alarms in Alarm List before invoking GetAlarmList opera

Note: All implementations must support at least the query type defined in AlarmByFilterableAlAttributesQueryDesciptor.

Parameters:query - Defines filter that is used for selecting certain alarms from alarm list. Multiple query-entare concatenated with logical OR operation. Empty list denotes that all alarms are selected.

Returns: AlarmCounts - amount of Alarms in server’s Alarm Information List. The datastructure AlarmCounts contains own count for each alarm severity type.

Throws:IllegalArgumentException239 - - Is raised when a bad argument is provided.

java.rmi.RemoteException - - Is raised when a unexpected system exception occurrs.

queryAlarmList(QueryValue[])

public AlarmValueIterator200 queryAlarmList(QueryValue244[] query)

throws java.rmi.RemoteException

Returns alarm list. Number of retrieved alarms can be reduced by defining filter templates.

192

Page 197: OSS Quality of Service API

AlarmMonitorMethods

tryAcknowledgeAlarms(String[], String, int)

serId

rver is

passing

s but t is a

Note: implementations must support at least the query type defined in AlarmByFilterableAttributesQuery-Desciptor.

Parameters:query - Defines filter that is used for selecting certain alarms from alarm list. Multiple query-entries are concatenated with logical OR operation. Empty list denotes that all alarms are selected.

Returns: AlarmValueIterator - iterator for retrieving returned alarms.

Throws:java.rmi.RemoteException - - Is raised when a unexpected system exception occurrs.

CreateException, IllegalArgumentException239

See Also: AlarmValueIterator200

tryAcknowledgeAlarms(String[], String, int)

public AlarmOperationResult194[] tryAcknowledgeAlarms(java.lang.String[]

alarmReferenceList, java.lang.String ackUserId, int returnMode)

throws java.rmi.RemoteException

Acknowledges one or more alarms in server’s Alarm List.

The function registers the time of operation in ackTime in Alarm in Alarm List. It also registers ackUin Alarm. It sets ackState to acknowledged as well.

The ackTime, ackUserId and ackState are collectively called Acknowledgement Information.

As a result of this operation the server will emit message about Acknowledgement Information.

Note that the time of acknowledgement is not parameter in this function. The internal time of the seused when the function call is made instead.

If client needs to ack lots of alarms it is recommended to call this method several times instead of very long alarm reference list in one function call.

Parameters:alarmReferenceList - Carries one or more identifiers (alarmIDs) identifying Alarm in Alarm List. Each identifier identifies at most one Alarm in Alarm List.

ackUserId - user identifier for the person who acknowledged the alarm. NULL denotes that theparameter is not used.

Returns: AlarmOperationResult[] - Bad alarm reference (alarmID) list, if the list is empty, the call hatotally succeeded. It identifies Alarms that are not present in Alarm List or that they are present,Acknowledgement Information has not changed, in contrast to clients request. Element of this lispair of Alarm Reference (alarm ID) and reason.

Throws:java.rmi.RemoteException - - Is raised when a unexpected system exception occurrs.

IllegalArgumentException239

See Also: javax.oss.ReturnMode

193

Page 198: OSS Quality of Service API

AlarmOperationResult

tryUnacknowledgeAlarms(String[], String, int)

te to

re ack-

passing

n

s but t is a

nd a rea-

ble rea-

tryUnacknowledgeAlarms(String[], String, int)

public AlarmOperationResult194[] tryUnacknowledgeAlarms(java.lang.String[]

alarmReferenceList, java.lang.String ackUserId, int returnMode)

throws java.rmi.RemoteException

Removes acknowledgement information from one or more alarms in server’s Alarm List.

The function clears ackTime in Alarm in Alarm List. It also clears ackUserId in Alarm. It sets ackStaunacknowledged as well.

The ackTime, ackUserId and ackState are collectively called Acknowledgement Information.

As a result of this operation the server will emit message about Acknowledgement Information, wheState is set “unacknowledged”.

If client needs to ack lots of alarms it is recommended to call this method several times instead of very long alarm reference list in one function call.

Parameters:alarmReferenceList - Carries one or more identifiers (alarmIDs) identifying Alarm Informatioin Alarm List. Each identifier identifies at most one Alarm in Alarm List.

ackUserId - user identifier for the person who acknowledged the alarm.

Returns: AlarmOperationResult[] - Bad alarm reference (alarmID) list, if the list is empty, the call hatotally succeeded. It identifies Alarms that are not present in Alarm List or that they are present,Acknowledgement Information has not changed, in contrast to clients request. Element of this lispair of Alarm Reference (alarm ID) and reason.

Throws:java.rmi.RemoteException - - Is raised when a unexpected system exception occurrs.

UnsupportedOperationException244, IllegalArgumentException239

See Also: javax.oss.ReturnMode

AlarmOperationResultSyntaxpublic interface AlarmOperationResult extends java.io.Serializable

All Superinterfaces: java.io.Serializable

DescriptionThis interface reperesents operation result ’bad alarm reference’. It contains both bad alarm reference ason.

The datastructure used for transfering bad alarm reference which consists of alarm ID and human readason for failure.

This inteface is explicitly designed to be used as a return value for functions javax.oss.fm.monitor.try-AcknowledgeAlarms and javax.oss.fm.monitor.tryUnacknowledgeAlarms only.

Author: Juha Laine

194

Page 199: OSS Quality of Service API

AlarmValue

getAlarmReference()

Version: 0.7, 2001-04-23

See Also: javax.oss.fm.monitor.tryAcknowledgeAlarms

Methods

getAlarmReference()

public java.lang.String getAlarmReference()

Returns alarm reference.

Returns: String - Alarm reference (AlarmID).

getReason()

public java.lang.String getReason()

Returns reason if the operation was not successfull.

Returns: String - Human readable reason, empty if the operation was successfull.

isSuccess()

public java.lang.Boolean isSuccess()

Indicates if the operation targeted for the alarm reference was successfull.

Returns: Boolean - True if operation succeeded.

AlarmValueSyntaxpublic interface AlarmValue extends java.io.Serializable

All Superinterfaces: java.io.Serializable

DescriptionRepresents alarm attribute values.

Member Summary

MethodsString getAlarmReference()195String getReason()195Boolean isSuccess()195

195

Page 200: OSS Quality of Service API

AlarmValue

getAckTime()

Author: Juha Laine

Version: 0.7, 2001-04-23

See Also: AlarmValueIterator200

Methods

getAckTime()

public java.lang.String getAckTime()

Returns ack time.

It identifies the time of last operation acknowledgeAlarms or unacknowledgeAlarms. It is mandatory for’AckStateChanged’- alarm, it is optional for other alarms.

Optional

getAckUserId()

public java.lang.String getAckUserId()

Member Summary

MethodsString getAckTime()196String getAckUserId()196String getAdditionalText()197short getAlarmAckState()197

String getAlarmId()197String getAlarmType()197

AttributeVal-ueChange[]

getAttributeChanges()197

boolean getBackedUpStatus()198String getBackUpObject()198

CorrelatedNotifica-tionValue[]

getCorrelatedNotifications()198

Date getEventTime()198String getManagedObjectClass()198String getManagedObjectInstance()198

AttributeValue[] getMonitoredAttributes()199short getPerceivedSeverity()199short getProbableCause()199

String getProposedRepairActions()199String getSpecificProblem()199String getSystemDN()200String getTrendIndication()200String getTresholdIndication()200

196

Page 201: OSS Quality of Service API

AlarmValue

getAdditionalText()

ther

n con-

knowl-’Ack-

Returns ack user ID

It identifies the last user who has changeed the Acknowledgement state via operation tryAcknowledge-Alarms or tryUnacknowledgeAlarms. It is mandatory for ’AckStateChanged’-alarm, it is optional for oalarms.

Optional

getAdditionalText()

public java.lang.String getAdditionalText()

Returns additional text

It provides the identity of the NE (e.g. RNC, Node-B) from which the alarm has been originated. It catain further information on the alarm.

Optional

getAlarmAckState()

public short getAlarmAckState()

Returns alarm ack state.

It identifies the Acknowledgement State of the alarm. Its valid values are acknowledged and unacedged. Predefined values are defined in javax.oss.fm.monitor.AlarmAckState.It is mandatory for StateChanged’-alarm, it is optional for other alarms.

Optional

getAlarmId()

public java.lang.String getAlarmId()

Returns alarm ID.

It identifies at most one Alarm information in the Alarm List.

Mandatory

getAlarmType()

public java.lang.String getAlarmType()

Returns alarm type.

It identifies alarm type, see event type in 3G TS 32.106-2.

Mandatory

getAttributeChanges()

public AttributeValueChange205[] getAttributeChanges()

Returns attribute changes.

Optional

197

Page 202: OSS Quality of Service API

AlarmValue

getBackedUpStatus()

getBackedUpStatus()

public boolean getBackedUpStatus()

Returns backed up status.

It indicates if an object has a back up. See definition in ITU-T Recommendation X.733 [2] clause 8.1.2.4.

Optional

getBackUpObject()

public java.lang.String getBackUpObject()

Returns back up object.

It carries the DN of the back up object. It shall be absent if backUpStatus is absent or its value indicatesfalse. See definition in ITU-T Recommendation X.733 clause 8.1.2.5.

Optional

getCorrelatedNotifications()

public CorrelatedNotificationValue207[] getCorrelatedNotifications()

Returns correlated notifications.

It identifies a set of notifications to which this notification is considered to be correlated. See definition inITU-T Recommendation X.733 clause 8.1.2.9.

Optional

getEventTime()

public java.util.Date getEventTime()

Returns event time.

Mandatory

getManagedObjectClass()

public java.lang.String getManagedObjectClass()

Returns managed object class.

This parameter specifies the class of the Managed Object (MO) in which the network event occurred.

Mandatory

getManagedObjectInstance()

public java.lang.String getManagedObjectInstance()

Returns managed object instance.

This parameter specifies the instance of the MO in which the network event occurred.

Mandatory

198

Page 203: OSS Quality of Service API

AlarmValue

getMonitoredAttributes()

getMonitoredAttributes()

public AttributeValue204[] getMonitoredAttributes()

Returns monitored attributes.

Optional

getPerceivedSeverity()

public short getPerceivedSeverity()

Returns perceived severity

It indicates the relative level of urgency for operator attention. Legal values are Critical, Major, Minor,Warning, Indeterminate and Cleared, according to ITU-T Recommendation X.733. Predefined values aredefined in javax.oss.fm.monitor.PerceivedSeverity. This API does not recommend the use of indeterminate.

Mandatory

getProbableCause()

public short getProbableCause()

Returns probable cause.

It qualifies alarm and provides further information than eventType. See javax.oss.fm.methods.Probable-Cause. This list is extensive. It is recommended that EMS/NEM should use the list as is and not to extend it.It is noted that EMS/NEM can privately (outside the scope of this API) define values for specificProblemthat provides semantics not conveyed by ProbableCause. A special ProbableCause value ( 1) indicates thatthis alternative is valid. This parameter- attribute value shall be single-value and of simple type such asinteger or string. See definition in ITU-T Recommendation X.733 clause 8.1.2.1.

Mandatory

getProposedRepairActions()

public java.lang.String getProposedRepairActions()

Returns proposed repair actions.

See definition in ITU-T Recommendation X.733 clause 8.1.2.12.

Optional

getSpecificProblem()

public java.lang.String getSpecificProblem()

Returns specific problem.

It provides further qualification on the alarm than probableCause. This parameter-attribute value shall besingle-value and of simple type such as integer or string. See definition in ITU-T Recommendation X.733clause 8.1.2.2.

Optional

199

Page 204: OSS Quality of Service API

AlarmValueIterator

getSystemDN()

getSystemDN()

public java.lang.String getSystemDN()

Returns system DN.

It carries the Distinguished Name (DN) of EMS or NEM that detects the network event and generates thenotification. See 3G TS 32.106-8 for name convention regarding DN.

Optional

getTrendIndication()

public java.lang.String getTrendIndication()

Returns trend indication It indicates if some observed condition is getting better, worse, or not changing.Legal values are less severe, no change and more severe. Predefined values are defined injavax.oss.fm.monitor.TrendIndication. See definition in ITU-T Recommendation X.733 clause 8.1.2.6.

Optional

getTresholdIndication()

public java.lang.String getTresholdIndication()

Returns threshold indication

It indicates if the threshold crossed was in the up or down direction. Predefined values are defined injavax.oss.fm.monitor.ThresholdIndicationType. See definition in ITU-T Recommendation X.733 clause8.1.2.7.

Optional

AlarmValueIteratorSyntaxpublic interface AlarmValueIterator extends java.io.Serializable

All Superinterfaces: java.io.Serializable

DescriptionThis interface manage retrival of alarm list.

Because the query operation could potentially return large amounts of data, the iterator design pattern is used for returning the results. An iterator is an object that is created to contain the results of an operation. The client receives a reference to the iterator as part of the information returned by the query operation. The client then invokes operations on the iterator to receive batches of results in sizes determined by the client. The iterator keeps track of how far through the results the client has progressed.

The semantic of the iterator is that it is returning a snapshot of the data matching the query expression at the moment the query was performed. If the underlying data are modified while the iteration is in progress, it will not affect the behavior of the iterator or the data values of the iterator.

200

Page 205: OSS Quality of Service API

AlarmValueIterator

getNext(int)

For example the AlarmMonitor interface support an operation to retrieve alarm list with a specific filterable attribute values. Code on the client side would look like this:

AlarmValueIterator avIterator;AlarmValue[] avs; // Alarm value listQueryValue[] qv; // empty filterfmsession = & // getting a reference to a performance monitor bean.//retrieve whole alarm list using empty query value//and provide at most 10 values in the initial set.avIterator = fmsession.queryAlarmList( qv );//retrieve the 10 initial alarmsavs = avIterator.getNext( 10 );while(avs.size()) {

for( int I=0; I < avs.size(); I++) {// handle alarms// ...

}avs = avIterator.getNext( 10 );

}avIterator.remove();

Author: Juha Laine

Version: 0.7, 2001-04-23

Methods

getNext(int)

public AlarmValue195[] getNext(int how_many)

throws java.rmi.RemoteException

Returns a list of alarms.

The function takes one argument that specifies the most number of items to return. The implementation candecide to return less or the requested number of items.

If zero is specified and empty list is returned.

If the iteration is empty or has reached then end, null is returned.

If the argument is greater than the number of item in the iterator then all or implementation decided numberof items are returned.

If the agreement plus the cursor of the iterator is greater than the number of item in the iterator, all or imple-mentation decided number of items from the cursor to the end is returned.

Member Summary

MethodsAlarmValue[] getNext(int)201

void remove()202

201

Page 206: OSS Quality of Service API

AlarmType

remove()

Parameters:how_many - Maximum of items to return, the implementation can decide to return less.

Returns: AlarmValue[] List of alarms.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurrs.

remove()

public void remove()

throws java.rmi.RemoteException, javax.ejb.RemoveException

Remove the the iterator.

Remove is called when, when the client has finished iterating through the collection to allow resources tobe deallocated.

Throws:java.rmi.RemoteException - Is raised when a unexpected system exception occurrs.

javax.ejb.RemoveException - Is raised if the implemention is an EJB and removal of the EJB could not be done.

AlarmTypeSyntaxpublic interface AlarmType extends java.io.Serializable

All Superinterfaces: java.io.Serializable

DescriptionThis interface identifies all TMN ITU-T defined alarm event types used by this API. Their semantics are defined by ITU-T. Their encodings for this API are defined here.

Author: Juha Laine

Version: 0.7, 2001-04-23

Member Summary

FieldsString COMMUNICATIONS_ALARM203String ENVIRONMENTAL_ALARM203String EQUIPMENT_ALARM203String INTEGRITY_VIOLATION203String OPERATIONAL_VIOLATION203String PHYSICAL_VIOLATION203String PROCESSING_ERROR_ALARM203String QUALITY_OF_SERVICE_ALARM204

202

Page 207: OSS Quality of Service API

AlarmType

COMMUNICATIONS_ALARM

Fields

COMMUNICATIONS_ALARM

public static final java.lang.String COMMUNICATIONS_ALARM

Communications alarm (ITU-T Recommendation X.733).

ENVIRONMENTAL_ALARM

public static final java.lang.String ENVIRONMENTAL_ALARM

Environmental alarm (ITU-T Recommendation X.733).

EQUIPMENT_ALARM

public static final java.lang.String EQUIPMENT_ALARM

Equipment Alarm (ITU-T Recommendation X.733).

INTEGRITY_VIOLATION

public static final java.lang.String INTEGRITY_VIOLATION

Integrity Violation alarm (ITU-T Recommendation X.736).

OPERATIONAL_VIOLATION

public static final java.lang.String OPERATIONAL_VIOLATION

OperationalViolation alarm (ITU-T Recommendation X.736).

PHYSICAL_VIOLATION

public static final java.lang.String PHYSICAL_VIOLATION

PhysicalViolation alarm (ITU-T Recommendation X.736).

PROCESSING_ERROR_ALARM

public static final java.lang.String PROCESSING_ERROR_ALARM

Processing error alarm (ITU-T Recommendation X.733).

String SECURITY_VIOLATION204String TIME_DOMAIN_VIOLATION204

Member Summary

203

Page 208: OSS Quality of Service API

AttributeValue

QUALITY_OF_SERVICE_ALARM

QUALITY_OF_SERVICE_ALARM

public static final java.lang.String QUALITY_OF_SERVICE_ALARM

Quality of Service alarm (ITU-T Recommendation X.733).

SECURITY_VIOLATION

public static final java.lang.String SECURITY_VIOLATION

Security Violation alarm (ITU-T Recommendation X.736).

TIME_DOMAIN_VIOLATION

public static final java.lang.String TIME_DOMAIN_VIOLATION

Time Domain Violation alarm (ITU-T Recommendation X.736).

AttributeValueSyntaxpublic interface AttributeValue extends java.io.Serializable

All Superinterfaces: java.io.Serializable

DescriptionThis interface represents attribute value.

Author: Juha Laine

Version: 0.7, 2001-04-23

Methods

getAttributeName()

public java.lang.String getAttributeName()

Member Summary

MethodsString getAttributeName()204String getAttributeType()205Object getValue()205

204

Page 209: OSS Quality of Service API

AttributeValueChange

getAttributeType()

Returns attribute name which is needed for encoding value.

Returns: String - Attribute name.

getAttributeType()

public java.lang.String getAttributeType()

Returns attribute type which is needed for encoding value.

Returns: String - Attribute type.

getValue()

public java.lang.Object getValue()

Retunrs attribute value.

Returns: Object - Attribute value.

AttributeValueChangeSyntaxpublic interface AttributeValueChange extends java.io.Serializable

All Superinterfaces: java.io.Serializable

DescriptionThis interface represents changed attribute value including both old and new value.

It is used in a changed alarm event to report changed attribute value.

Author: Juha Laine

Version: 0.7, 2001-04-23

Member Summary

MethodsString getAttributeName()206String getAttributeType()206Object getNewValue()206Object getOldValue()206

205

Page 210: OSS Quality of Service API

BackedUpStatusType

getAttributeName()

Methods

getAttributeName()

public java.lang.String getAttributeName()

Returns attribute name which is needed for encoding the value.

Returns: String - attribute name.

getAttributeType()

public java.lang.String getAttributeType()

Returns attribute type which is needed for encoding the value.

Returns: String - attribute name.

getNewValue()

public java.lang.Object getNewValue()

Returns new attribute value.

Returns: Object - new value.

getOldValue()

public java.lang.Object getOldValue()

Returns old attribute value.

Returns: Object - old value.

BackedUpStatusTypeSyntaxpublic interface BackedUpStatusType extends java.io.Serializable

All Superinterfaces: java.io.Serializable

DescriptionIt indicates if an object has a back up.

True implies backep up. False implies not backed up.

Author: Juha Laine

Version: 0.7, 2001-04-23

206

Page 211: OSS Quality of Service API

CorrelatedNotificationValue

OBJECT_IS_BACKED_UP

Fields

OBJECT_IS_BACKED_UP

public static final boolean OBJECT_IS_BACKED_UP

Object is backed up.

OBJECT_IS_NOT_BACKED_UP

public static final boolean OBJECT_IS_NOT_BACKED_UP

Object is not backed up.

CorrelatedNotificationValueSyntaxpublic interface CorrelatedNotificationValue extends java.io.Serializable

All Superinterfaces: java.io.Serializable

DescriptionThis interface represents correlated notification identifier. Correlated notifications in one server can be distin-guished using pair of notification ID and managed object instance.

Author: Juha Laine

Version: 0.7, 2001-04-23

Member Summary

Fieldsboolean OBJECT_IS_BACKED_UP207boolean OBJECT_IS_NOT_BACKED_UP207

Member Summary

MethodsString getManagedObjectInstance()208String getNotificationId()208

207

Page 212: OSS Quality of Service API

ExtendedAlarmType

getManagedObjectInstance()

Methods

getManagedObjectInstance()

public java.lang.String getManagedObjectInstance()

Returns managed object instance.

Returns: String - Managed object instance.

getNotificationId()

public java.lang.String getNotificationId()

Returns notification ID.

Returns: String - Notifiction ID.

ExtendedAlarmTypeSyntaxpublic interface ExtendedAlarmType extends java.io.Serializable

All Superinterfaces: java.io.Serializable

DescriptionThis interface contains definitions for 3GPP defined event types used by this API.

Author: Juha Laine

Version: 0.7, 2001-04-23

See Also: AlarmEvent183

Member Summary

FieldsString ACK_STATE_CHANGED209String ALARM_LIST_REBUILT209String CHANGED_ALARM209String CLEARED_ALARM209String NEW_ALARM209

208

Page 213: OSS Quality of Service API

FilterableAttributesValue

ACK_STATE_CHANGED

l AND-

Fields

ACK_STATE_CHANGED

public static final java.lang.String ACK_STATE_CHANGED

Predefined string to identify ’AckStateChanged’.

ALARM_LIST_REBUILT

public static final java.lang.String ALARM_LIST_REBUILT

Predefined string to identify ’AlarmListRebuild’.

CHANGED_ALARM

public static final java.lang.String CHANGED_ALARM

Predefined string to identify ’ChangedAlarm’.

CLEARED_ALARM

public static final java.lang.String CLEARED_ALARM

Predefined string to identify ’ClearedAlarm’.

NEW_ALARM

public static final java.lang.String NEW_ALARM

Predefined string to identify ’NewAlarm’.

FilterableAttributesValueSyntaxpublic interface FilterableAttributesValue extends QueryValue244

All Superinterfaces: java.lang.Cloneable, QueryValue244, java.io.Serializable

DescriptionThe interface represents filterable alarm attribute values that are used as a filter in alarm query.

Filterable parameter attributes inside one FilterableAttributesValue object are concatenated using logicaoperation and multiple FilterableAttributesValue objects are concatenated using logical OR-operation.

Author: Juha Laine

Version: 0.7, 2001-04-23

209

Page 214: OSS Quality of Service API

FilterableAttributesValue

getAlarmAckState()

See Also: javax.oss.fm.monitor.AlarmMonitorMethods.queryAlarms, javax.oss.fm.monitor.AlarmMonitorMethods.queryAlarmCount

Methods

getAlarmAckState()

public short getAlarmAckState()

Retunrs alarm ack state.

Returns: short - alarm ack state

See Also: AlarmAckState179

getAlarmType()

public java.lang.String getAlarmType()

Returns event type.

Returns: string - event type

See Also: AlarmType202

getManagedObjectClass()

public java.lang.String getManagedObjectClass()

Returns managed object class.

Returns: string - managed object class

getManagetObjectInstance()

public java.lang.String getManagetObjectInstance()

Member Summary

Methodsshort getAlarmAckState()210

String getAlarmType()210String getManagedObjectClass()210String getManagetObjectInstance()210short getPerceivedSeverity()211

boolean isAlarmAckStateSet()211boolean isAlarmTypeSet()211boolean isManagedObjectClassSet()211boolean isManagetObjectInstanceSet()211boolean isPerceivedSeveritySet()211

210

Page 215: OSS Quality of Service API

FilterableAttributesValue

getPerceivedSeverity()

Returns managed object instance.

Returns: string - managed object instance

getPerceivedSeverity()

public short getPerceivedSeverity()

Returns perceived severity.

Returns: short - perceived severity

See Also: PerceivedSeverity212

isAlarmAckStateSet()

public boolean isAlarmAckStateSet()

Returns true if value of alarm ack state is set.

Returns: boolean - true if value is set

isAlarmTypeSet()

public boolean isAlarmTypeSet()

Returns true if value of managed object class is set.

Returns: boolean - true if value is set

isManagedObjectClassSet()

public boolean isManagedObjectClassSet()

Returns true if value of managed object class is set.

Returns: boolean - true if value is set

isManagetObjectInstanceSet()

public boolean isManagetObjectInstanceSet()

Returns true if value of managed object instance is set.

Returns: boolean - true if value is set

isPerceivedSeveritySet()

public boolean isPerceivedSeveritySet()

Returns true if value of perceived severity is set.

Returns: boolean - true if value is set

211

Page 216: OSS Quality of Service API

PerceivedSeverity

CLEARED

PerceivedSeveritySyntaxpublic interface PerceivedSeverity extends java.io.Serializable

All Superinterfaces: java.io.Serializable

DescriptionThis interface contains definitions for alarm severity classes.

Author: Juha Laine

Version: 0.7, 2001-04-23

Fields

CLEARED

public static final short CLEARED

CRITICAL

public static final short CRITICAL

INDETERMINATE

public static final short INDETERMINATE

MAJOR

public static final short MAJOR

Member Summary

Fieldsshort CLEARED212short CRITICAL212short INDETERMINATE212short MAJOR212short MINOR213short WARNING213

212

Page 217: OSS Quality of Service API

ProbableCause

MINOR

MINOR

public static final short MINOR

WARNING

public static final short WARNING

ProbableCauseSyntaxpublic interface ProbableCause extends java.io.Serializable

All Superinterfaces: java.io.Serializable

DescriptionThis interface contains definions for probable causes that are used in reported alarms.

Author: Juha Laine

Version: 0.7, 2001-04-23

Member Summary

Fieldsshort A_BIS_TO_BTS_INTERFACE_FAILURE217short A_BIS_TO_TRX_INTERFACE_FAILURE217short ADAPTER_ERROR217short AIR_COMPRESSOR_FAILURE217short AIR_CONDITIONING_FAILURE217short AIR_DRYER_FAILURE217short ALARM_INDICATION_SIGNAL217short ANTENNA_PROBLEM217short APPLICATION_SUBSYSTEM_FAILURE217short BACK_PLANE_FAILURE217short BANDWIDTH_REDUCTION217short BATTERY_BREAKDOWN218short BATTERY_CHARGING_FAULT218short BATTERY_DISCHARGING218short BATTERY_FAILURE218short BROADCAST_CHANNEL_FAILURE218short CALL_ESTABLISHMENT_ERROR218short CALL_SETUP_FAILURE218short CLOCK_SYNCHRONISATION_PROBLEM218short COMBINER_PROBLEM218short COMMERICAL_POWER_FAILURE218short COMMUNICATION_PROTOCOL_ERROR218

213

Page 218: OSS Quality of Service API

ProbableCause

WARNING

short COMMUNICATION_SUBSYSTEM_FAILURE218short CONFIGURATION_OR_CUSTOMIZING_ERROR219short CONGESTION219short COOLING_FAN_FAILURE219short COOLING_SYSTEM_FAILURE219short CORRUPT_DATA_M3100219short CPU_CYCLES_LIMIT_EXCEEDED219short DATA_SET_OR_MODEM_ERROR219short DATA_SET_PROBLEM219short DATABASE_INCONSISTENCY219short DEGRADED_SIGNAL_M3100219short DISK_PROBLEM219short DTE_DCE_INTERFACE_ERROR219short ENCLOSURE_DOOR_OPEN_M3100220short ENGINE_FAILURE220short EQUIPMENT_IDENTIFIER_DUPLICATION220short EQUIPMENT_MALFUNCTION220short EXCESSIVE_BIT_ERROR_RATE220short EXCESSIVE_RECEIVER_TEMPERATURE220short EXCESSIVE_TRANSMITTER_OUTPUT_POWER220short EXCESSIVE_TRANSMITTER_TEMPERATURE220short EXCESSIVE_VIBRATION220short EXPLOSIVE_GAS220short EXTERNAL_DEVICE_PROBLEM220short EXTERNAL_EQUIPMENT_FAILURE220short EXTERNAL_POWER_SUPPLY_FAILURE221short EXTERNAL_TRANSMISSION_DEVICE_FAILURE221short FAR_END_RECEIVER_FAILURE221short FILE_ERROR221short FILE_SYSTEM_CALL_UNSUCCESSFUL221short FIRE221short FIRE_DETECTOR_FAILURE221short FLOOD221short FRAMING_ERROR_M3100221short FREQUENCY_HOPPING_DEGRADED221short FREQUENCY_HOPPING_FAILURE221short FREQUENCY_REDEFINITION_FAILED221short FUSE_FAILURE222short GENERATOR_FAILURE222short HEATING_OR_VENTILATION_OR_COOLING_SYSTEM_PROBLEM222short HIGH_HUMIDITY222short HIGH_TEMPERATURE222short HIGH_WIND222short HUMIDITY_UNACCEPTABLE222short ICE_BUILD_UP222short INDETERMINATE222short INPUT_DEVICE_ERROR222short INPUT_OUTPUT_DEVICE_ERROR222short INPUT_PARAMETER_OUT_OF_RANGE222short INVALID_MESSAGE_RECEIVED223short INVALID_MSU_RECEIVED223short INVALID_PARAMETER223

Member Summary

214

Page 219: OSS Quality of Service API

ProbableCause

WARNING

short INVALID_POINTER223short LAN_ERROR223short LAPD_LINK_PROTOCOL_FAILURE223short LEAK_DETECTION223short LINE_CARD_PROBLEM223short LINE_INTERFACE_FAILURE223short LINK_FAILURE223short LOCAL_ALARM_INDICATION223short LOCAL_NODE_TRANSMISSION_ERROR223short LOSS_OF_FRAME224short LOSS_OF_MULTI_FRAME224short LOSS_OF_POINTER224short LOSS_OF_SIGNAL224short LOSS_OF_SYNCHRONISATION224short LOST_REDUNDANCY224short LOW_BATTERY_THRESHOLD224short LOW_CABLE_PRESSURE224short LOW_FUEL224short LOW_HUMIDITY224short LOW_TEMPERATURE224short LOW_WATER224short MAINS_BREAKDOWN_WITH_BATTERY_BACKUP225short MAINS_BREAKDOWN_WITHOUT_BATTERY_BACKUP225short MATERIAL_SUPPLY_EXHAUSTED225short MEMORY_MISMATCH225short MESSAGE_NOT_EXPECTED225short MESSAGE_NOT_INITIALISED225short MESSAGE_OUT_OF_SEQUENCE225short MULTIPLEXER_PROBLEM_M3100225short NE_IDENTIFIER_DUPLICATION225short OUT_OF_CPU_CYCLES225short OUT_OF_MEMORY225short OUTPUT_DEVICE_ERROR225short PATH_TRACE_MISMATCH226short PAYLOAD_TYPE_MISMATCH226short PERFORMANCE_DEGRADED226short POWER_PROBLEM_M3100226short POWER_SUPPLY_FAILURE226short PRESSURE_UNACCEPTABLE226short PROCESSOR_PROBLEM_M3100226short PROTECTION_PATH_FAILURE226short PUMP_FAILURE_M3100226short QUEUE_SIZE_EXCEEDED226short RECEIVE_FAILURE226short RECEIVER_ANTENNA_FAULT226short RECEIVER_FAILURE_M3100227short RECEIVER_MULTICOUPLER_FAILURE227short RECTIFIER_FAILURE227short RECTIFIER_HIGH_VOLTAGE227short RECTIFIER_LOW_F_VOLTAGE227short RECUCED_LOGGING_CAPABILITY227short REDUCED_ALARM_REPORTING227

Member Summary

215

Page 220: OSS Quality of Service API

ProbableCause

WARNING

short REDUCED_EVENT_REPORTING227short REDUCED_TRANSMITTER_OUTPUT_POWER227short REMOTE_ALARM_INDICATION227short REMOTE_ALARM_INTERFACE227short REMOTE_NODE_TRANSMISSION_ERROR227short REPLACEABLE_UNIT_MISSING228short REPLACEABLE_UNIT_PROBLEM228short REPLACEABLE_UNIT_TYPE_MISMATCH228short RESOURCE_AT_OR_NEARING_CAPACITY228short RESPONSE_TIME_EXCESSIVE228short RETRANSMISSION_RATE_EXCESSIVE228short ROUTING_FAILURE228short SIGNAL_LABEL_MISMATCH228short SIGNAL_QUALITY_EVALUATION_FAULT228short SMOKE228short SOFTWARE_DOWNLOAD_FAILURE228short SOFTWARE_ENVIRONMENT_PROBLEM228short SOFTWARE_ERROR229short SOFTWARE_PROGRAM_ABNORMALLY_TERMINATED229short SOFTWARE_PROGRAM_ERROR229short SS7_PROTOCOL_FAILURE229short STORAGE_CAPACITY_PROBLEM_M3100229short SYNCHRONISATION_SOURCE_MISMATCH229short SYSTEM_CALL_UNSUCCESSFUL229short SYSTEM_RESOURCES_OVERLOAD229short TEMPERATURE_UNACCEPTABLE229short TERMINAL_PROBLEM229short THRESHOLD_CROSSED229short TIMEOUT_EXPIRED229short TIMESLOT_HARDWARE_FAILURE230short TIMING_PROBLEM_M3100230short TOXIC_GAS230short TOXIC_LEAK_DETECTED230short TRANSCEIVER_PROBLEM230short TRANSCODER_OR_RATE_ADAPTER_PROBLEM230short TRANSCODER_PROBLEM230short TRANSMISSION_ERROR230short TRANSMISSION_FAILURE230short TRANSMIT_FAILURE230short TRANSMITTER_ANTENNA_FAILURE230short TRANSMITTER_ANTENNA_NOT_ADJUSTED230short TRANSMITTER_FAILURE_M3100231short TRANSMITTER_LOW_VOLTAGE_OR_CURRENT231short TRANSMITTER_OFF_FREQUENCY231short TRUNK_CARD_PROBLEM231short UNAVAILABLE231short UNDERLYING_RESOURCE_UNAVAILABLE231short VARIABLE_OUT_OF_RANGE231short WATCH_DOG_TIMER_EXPIRED231short VENTILATION_SYSTEM_FAILURE231short VERSION_MISMATCH231

Member Summary

216

Page 221: OSS Quality of Service API

ProbableCause

A_BIS_TO_BTS_INTERFACE_FAILURE

Fields

A_BIS_TO_BTS_INTERFACE_FAILURE

public static final short A_BIS_TO_BTS_INTERFACE_FAILURE

A_BIS_TO_TRX_INTERFACE_FAILURE

public static final short A_BIS_TO_TRX_INTERFACE_FAILURE

ADAPTER_ERROR

public static final short ADAPTER_ERROR

AIR_COMPRESSOR_FAILURE

public static final short AIR_COMPRESSOR_FAILURE

AIR_CONDITIONING_FAILURE

public static final short AIR_CONDITIONING_FAILURE

AIR_DRYER_FAILURE

public static final short AIR_DRYER_FAILURE

ALARM_INDICATION_SIGNAL

public static final short ALARM_INDICATION_SIGNAL

ANTENNA_PROBLEM

public static final short ANTENNA_PROBLEM

APPLICATION_SUBSYSTEM_FAILURE

public static final short APPLICATION_SUBSYSTEM_FAILURE

BACK_PLANE_FAILURE

public static final short BACK_PLANE_FAILURE

BANDWIDTH_REDUCTION

public static final short BANDWIDTH_REDUCTION

217

Page 222: OSS Quality of Service API

ProbableCause

BATTERY_BREAKDOWN

BATTERY_BREAKDOWN

public static final short BATTERY_BREAKDOWN

BATTERY_CHARGING_FAULT

public static final short BATTERY_CHARGING_FAULT

BATTERY_DISCHARGING

public static final short BATTERY_DISCHARGING

BATTERY_FAILURE

public static final short BATTERY_FAILURE

BROADCAST_CHANNEL_FAILURE

public static final short BROADCAST_CHANNEL_FAILURE

CALL_ESTABLISHMENT_ERROR

public static final short CALL_ESTABLISHMENT_ERROR

CALL_SETUP_FAILURE

public static final short CALL_SETUP_FAILURE

CLOCK_SYNCHRONISATION_PROBLEM

public static final short CLOCK_SYNCHRONISATION_PROBLEM

COMBINER_PROBLEM

public static final short COMBINER_PROBLEM

COMMERICAL_POWER_FAILURE

public static final short COMMERICAL_POWER_FAILURE

COMMUNICATION_PROTOCOL_ERROR

public static final short COMMUNICATION_PROTOCOL_ERROR

COMMUNICATION_SUBSYSTEM_FAILURE

public static final short COMMUNICATION_SUBSYSTEM_FAILURE

218

Page 223: OSS Quality of Service API

ProbableCause

CONFIGURATION_OR_CUSTOMIZING_ERROR

CONFIGURATION_OR_CUSTOMIZING_ERROR

public static final short CONFIGURATION_OR_CUSTOMIZING_ERROR

CONGESTION

public static final short CONGESTION

COOLING_FAN_FAILURE

public static final short COOLING_FAN_FAILURE

COOLING_SYSTEM_FAILURE

public static final short COOLING_SYSTEM_FAILURE

CORRUPT_DATA_M3100

public static final short CORRUPT_DATA_M3100

CPU_CYCLES_LIMIT_EXCEEDED

public static final short CPU_CYCLES_LIMIT_EXCEEDED

DATA_SET_OR_MODEM_ERROR

public static final short DATA_SET_OR_MODEM_ERROR

DATA_SET_PROBLEM

public static final short DATA_SET_PROBLEM

DATABASE_INCONSISTENCY

public static final short DATABASE_INCONSISTENCY

DEGRADED_SIGNAL_M3100

public static final short DEGRADED_SIGNAL_M3100

DISK_PROBLEM

public static final short DISK_PROBLEM

DTE_DCE_INTERFACE_ERROR

public static final short DTE_DCE_INTERFACE_ERROR

219

Page 224: OSS Quality of Service API

ProbableCause

ENCLOSURE_DOOR_OPEN_M3100

ENCLOSURE_DOOR_OPEN_M3100

public static final short ENCLOSURE_DOOR_OPEN_M3100

ENGINE_FAILURE

public static final short ENGINE_FAILURE

EQUIPMENT_IDENTIFIER_DUPLICATION

public static final short EQUIPMENT_IDENTIFIER_DUPLICATION

EQUIPMENT_MALFUNCTION

public static final short EQUIPMENT_MALFUNCTION

EXCESSIVE_BIT_ERROR_RATE

public static final short EXCESSIVE_BIT_ERROR_RATE

EXCESSIVE_RECEIVER_TEMPERATURE

public static final short EXCESSIVE_RECEIVER_TEMPERATURE

EXCESSIVE_TRANSMITTER_OUTPUT_POWER

public static final short EXCESSIVE_TRANSMITTER_OUTPUT_POWER

EXCESSIVE_TRANSMITTER_TEMPERATURE

public static final short EXCESSIVE_TRANSMITTER_TEMPERATURE

EXCESSIVE_VIBRATION

public static final short EXCESSIVE_VIBRATION

EXPLOSIVE_GAS

public static final short EXPLOSIVE_GAS

EXTERNAL_DEVICE_PROBLEM

public static final short EXTERNAL_DEVICE_PROBLEM

EXTERNAL_EQUIPMENT_FAILURE

public static final short EXTERNAL_EQUIPMENT_FAILURE

220

Page 225: OSS Quality of Service API

ProbableCause

EXTERNAL_POWER_SUPPLY_FAILURE

EXTERNAL_POWER_SUPPLY_FAILURE

public static final short EXTERNAL_POWER_SUPPLY_FAILURE

EXTERNAL_TRANSMISSION_DEVICE_FAILURE

public static final short EXTERNAL_TRANSMISSION_DEVICE_FAILURE

FAR_END_RECEIVER_FAILURE

public static final short FAR_END_RECEIVER_FAILURE

FILE_ERROR

public static final short FILE_ERROR

FILE_SYSTEM_CALL_UNSUCCESSFUL

public static final short FILE_SYSTEM_CALL_UNSUCCESSFUL

FIRE

public static final short FIRE

FIRE_DETECTOR_FAILURE

public static final short FIRE_DETECTOR_FAILURE

FLOOD

public static final short FLOOD

FRAMING_ERROR_M3100

public static final short FRAMING_ERROR_M3100

FREQUENCY_HOPPING_DEGRADED

public static final short FREQUENCY_HOPPING_DEGRADED

FREQUENCY_HOPPING_FAILURE

public static final short FREQUENCY_HOPPING_FAILURE

FREQUENCY_REDEFINITION_FAILED

public static final short FREQUENCY_REDEFINITION_FAILED

221

Page 226: OSS Quality of Service API

ProbableCause

FUSE_FAILURE

FUSE_FAILURE

public static final short FUSE_FAILURE

GENERATOR_FAILURE

public static final short GENERATOR_FAILURE

HEATING_OR_VENTILATION_OR_COOLING_SYSTEM_PROBLEM

public static final short HEATING_OR_VENTILATION_OR_COOLING_SYSTEM_PROBLEM

HIGH_HUMIDITY

public static final short HIGH_HUMIDITY

HIGH_TEMPERATURE

public static final short HIGH_TEMPERATURE

HIGH_WIND

public static final short HIGH_WIND

HUMIDITY_UNACCEPTABLE

public static final short HUMIDITY_UNACCEPTABLE

ICE_BUILD_UP

public static final short ICE_BUILD_UP

INDETERMINATE

public static final short INDETERMINATE

INPUT_DEVICE_ERROR

public static final short INPUT_DEVICE_ERROR

INPUT_OUTPUT_DEVICE_ERROR

public static final short INPUT_OUTPUT_DEVICE_ERROR

INPUT_PARAMETER_OUT_OF_RANGE

public static final short INPUT_PARAMETER_OUT_OF_RANGE

222

Page 227: OSS Quality of Service API

ProbableCause

INVALID_MESSAGE_RECEIVED

INVALID_MESSAGE_RECEIVED

public static final short INVALID_MESSAGE_RECEIVED

INVALID_MSU_RECEIVED

public static final short INVALID_MSU_RECEIVED

INVALID_PARAMETER

public static final short INVALID_PARAMETER

INVALID_POINTER

public static final short INVALID_POINTER

LAN_ERROR

public static final short LAN_ERROR

LAPD_LINK_PROTOCOL_FAILURE

public static final short LAPD_LINK_PROTOCOL_FAILURE

LEAK_DETECTION

public static final short LEAK_DETECTION

LINE_CARD_PROBLEM

public static final short LINE_CARD_PROBLEM

LINE_INTERFACE_FAILURE

public static final short LINE_INTERFACE_FAILURE

LINK_FAILURE

public static final short LINK_FAILURE

LOCAL_ALARM_INDICATION

public static final short LOCAL_ALARM_INDICATION

LOCAL_NODE_TRANSMISSION_ERROR

public static final short LOCAL_NODE_TRANSMISSION_ERROR

223

Page 228: OSS Quality of Service API

ProbableCause

LOSS_OF_FRAME

LOSS_OF_FRAME

public static final short LOSS_OF_FRAME

LOSS_OF_MULTI_FRAME

public static final short LOSS_OF_MULTI_FRAME

LOSS_OF_POINTER

public static final short LOSS_OF_POINTER

LOSS_OF_SIGNAL

public static final short LOSS_OF_SIGNAL

LOSS_OF_SYNCHRONISATION

public static final short LOSS_OF_SYNCHRONISATION

LOST_REDUNDANCY

public static final short LOST_REDUNDANCY

LOW_BATTERY_THRESHOLD

public static final short LOW_BATTERY_THRESHOLD

LOW_CABLE_PRESSURE

public static final short LOW_CABLE_PRESSURE

LOW_FUEL

public static final short LOW_FUEL

LOW_HUMIDITY

public static final short LOW_HUMIDITY

LOW_TEMPERATURE

public static final short LOW_TEMPERATURE

LOW_WATER

public static final short LOW_WATER

224

Page 229: OSS Quality of Service API

ProbableCause

MAINS_BREAKDOWN_WITH_BATTERY_BACKUP

MAINS_BREAKDOWN_WITH_BATTERY_BACKUP

public static final short MAINS_BREAKDOWN_WITH_BATTERY_BACKUP

MAINS_BREAKDOWN_WITHOUT_BATTERY_BACKUP

public static final short MAINS_BREAKDOWN_WITHOUT_BATTERY_BACKUP

MATERIAL_SUPPLY_EXHAUSTED

public static final short MATERIAL_SUPPLY_EXHAUSTED

MEMORY_MISMATCH

public static final short MEMORY_MISMATCH

MESSAGE_NOT_EXPECTED

public static final short MESSAGE_NOT_EXPECTED

MESSAGE_NOT_INITIALISED

public static final short MESSAGE_NOT_INITIALISED

MESSAGE_OUT_OF_SEQUENCE

public static final short MESSAGE_OUT_OF_SEQUENCE

MULTIPLEXER_PROBLEM_M3100

public static final short MULTIPLEXER_PROBLEM_M3100

NE_IDENTIFIER_DUPLICATION

public static final short NE_IDENTIFIER_DUPLICATION

OUT_OF_CPU_CYCLES

public static final short OUT_OF_CPU_CYCLES

OUT_OF_MEMORY

public static final short OUT_OF_MEMORY

OUTPUT_DEVICE_ERROR

public static final short OUTPUT_DEVICE_ERROR

225

Page 230: OSS Quality of Service API

ProbableCause

PATH_TRACE_MISMATCH

PATH_TRACE_MISMATCH

public static final short PATH_TRACE_MISMATCH

PAYLOAD_TYPE_MISMATCH

public static final short PAYLOAD_TYPE_MISMATCH

PERFORMANCE_DEGRADED

public static final short PERFORMANCE_DEGRADED

POWER_PROBLEM_M3100

public static final short POWER_PROBLEM_M3100

POWER_SUPPLY_FAILURE

public static final short POWER_SUPPLY_FAILURE

PRESSURE_UNACCEPTABLE

public static final short PRESSURE_UNACCEPTABLE

PROCESSOR_PROBLEM_M3100

public static final short PROCESSOR_PROBLEM_M3100

PROTECTION_PATH_FAILURE

public static final short PROTECTION_PATH_FAILURE

PUMP_FAILURE_M3100

public static final short PUMP_FAILURE_M3100

QUEUE_SIZE_EXCEEDED

public static final short QUEUE_SIZE_EXCEEDED

RECEIVE_FAILURE

public static final short RECEIVE_FAILURE

RECEIVER_ANTENNA_FAULT

public static final short RECEIVER_ANTENNA_FAULT

226

Page 231: OSS Quality of Service API

ProbableCause

RECEIVER_FAILURE_M3100

RECEIVER_FAILURE_M3100

public static final short RECEIVER_FAILURE_M3100

RECEIVER_MULTICOUPLER_FAILURE

public static final short RECEIVER_MULTICOUPLER_FAILURE

RECTIFIER_FAILURE

public static final short RECTIFIER_FAILURE

RECTIFIER_HIGH_VOLTAGE

public static final short RECTIFIER_HIGH_VOLTAGE

RECTIFIER_LOW_F_VOLTAGE

public static final short RECTIFIER_LOW_F_VOLTAGE

RECUCED_LOGGING_CAPABILITY

public static final short RECUCED_LOGGING_CAPABILITY

REDUCED_ALARM_REPORTING

public static final short REDUCED_ALARM_REPORTING

REDUCED_EVENT_REPORTING

public static final short REDUCED_EVENT_REPORTING

REDUCED_TRANSMITTER_OUTPUT_POWER

public static final short REDUCED_TRANSMITTER_OUTPUT_POWER

REMOTE_ALARM_INDICATION

public static final short REMOTE_ALARM_INDICATION

REMOTE_ALARM_INTERFACE

public static final short REMOTE_ALARM_INTERFACE

REMOTE_NODE_TRANSMISSION_ERROR

public static final short REMOTE_NODE_TRANSMISSION_ERROR

227

Page 232: OSS Quality of Service API

ProbableCause

REPLACEABLE_UNIT_MISSING

REPLACEABLE_UNIT_MISSING

public static final short REPLACEABLE_UNIT_MISSING

REPLACEABLE_UNIT_PROBLEM

public static final short REPLACEABLE_UNIT_PROBLEM

REPLACEABLE_UNIT_TYPE_MISMATCH

public static final short REPLACEABLE_UNIT_TYPE_MISMATCH

RESOURCE_AT_OR_NEARING_CAPACITY

public static final short RESOURCE_AT_OR_NEARING_CAPACITY

RESPONSE_TIME_EXCESSIVE

public static final short RESPONSE_TIME_EXCESSIVE

RETRANSMISSION_RATE_EXCESSIVE

public static final short RETRANSMISSION_RATE_EXCESSIVE

ROUTING_FAILURE

public static final short ROUTING_FAILURE

SIGNAL_LABEL_MISMATCH

public static final short SIGNAL_LABEL_MISMATCH

SIGNAL_QUALITY_EVALUATION_FAULT

public static final short SIGNAL_QUALITY_EVALUATION_FAULT

SMOKE

public static final short SMOKE

SOFTWARE_DOWNLOAD_FAILURE

public static final short SOFTWARE_DOWNLOAD_FAILURE

SOFTWARE_ENVIRONMENT_PROBLEM

public static final short SOFTWARE_ENVIRONMENT_PROBLEM

228

Page 233: OSS Quality of Service API

ProbableCause

SOFTWARE_ERROR

SOFTWARE_ERROR

public static final short SOFTWARE_ERROR

SOFTWARE_PROGRAM_ABNORMALLY_TERMINATED

public static final short SOFTWARE_PROGRAM_ABNORMALLY_TERMINATED

SOFTWARE_PROGRAM_ERROR

public static final short SOFTWARE_PROGRAM_ERROR

SS7_PROTOCOL_FAILURE

public static final short SS7_PROTOCOL_FAILURE

STORAGE_CAPACITY_PROBLEM_M3100

public static final short STORAGE_CAPACITY_PROBLEM_M3100

SYNCHRONISATION_SOURCE_MISMATCH

public static final short SYNCHRONISATION_SOURCE_MISMATCH

SYSTEM_CALL_UNSUCCESSFUL

public static final short SYSTEM_CALL_UNSUCCESSFUL

SYSTEM_RESOURCES_OVERLOAD

public static final short SYSTEM_RESOURCES_OVERLOAD

TEMPERATURE_UNACCEPTABLE

public static final short TEMPERATURE_UNACCEPTABLE

TERMINAL_PROBLEM

public static final short TERMINAL_PROBLEM

THRESHOLD_CROSSED

public static final short THRESHOLD_CROSSED

TIMEOUT_EXPIRED

public static final short TIMEOUT_EXPIRED

229

Page 234: OSS Quality of Service API

ProbableCause

TIMESLOT_HARDWARE_FAILURE

TIMESLOT_HARDWARE_FAILURE

public static final short TIMESLOT_HARDWARE_FAILURE

TIMING_PROBLEM_M3100

public static final short TIMING_PROBLEM_M3100

TOXIC_GAS

public static final short TOXIC_GAS

TOXIC_LEAK_DETECTED

public static final short TOXIC_LEAK_DETECTED

TRANSCEIVER_PROBLEM

public static final short TRANSCEIVER_PROBLEM

TRANSCODER_OR_RATE_ADAPTER_PROBLEM

public static final short TRANSCODER_OR_RATE_ADAPTER_PROBLEM

TRANSCODER_PROBLEM

public static final short TRANSCODER_PROBLEM

TRANSMISSION_ERROR

public static final short TRANSMISSION_ERROR

TRANSMISSION_FAILURE

public static final short TRANSMISSION_FAILURE

TRANSMIT_FAILURE

public static final short TRANSMIT_FAILURE

TRANSMITTER_ANTENNA_FAILURE

public static final short TRANSMITTER_ANTENNA_FAILURE

TRANSMITTER_ANTENNA_NOT_ADJUSTED

public static final short TRANSMITTER_ANTENNA_NOT_ADJUSTED

230

Page 235: OSS Quality of Service API

ThresholdIndicationType

TRANSMITTER_FAILURE_M3100

TRANSMITTER_FAILURE_M3100

public static final short TRANSMITTER_FAILURE_M3100

TRANSMITTER_LOW_VOLTAGE_OR_CURRENT

public static final short TRANSMITTER_LOW_VOLTAGE_OR_CURRENT

TRANSMITTER_OFF_FREQUENCY

public static final short TRANSMITTER_OFF_FREQUENCY

TRUNK_CARD_PROBLEM

public static final short TRUNK_CARD_PROBLEM

UNAVAILABLE

public static final short UNAVAILABLE

UNDERLYING_RESOURCE_UNAVAILABLE

public static final short UNDERLYING_RESOURCE_UNAVAILABLE

VARIABLE_OUT_OF_RANGE

public static final short VARIABLE_OUT_OF_RANGE

WATCH_DOG_TIMER_EXPIRED

public static final short WATCH_DOG_TIMER_EXPIRED

VENTILATION_SYSTEM_FAILURE

public static final short VENTILATION_SYSTEM_FAILURE

VERSION_MISMATCH

public static final short VERSION_MISMATCH

ThresholdIndicationTypeSyntaxpublic interface ThresholdIndicationType extends java.io.Serializable

231

Page 236: OSS Quality of Service API

TrendIndicationType

DOWN

ossed

ate if

All Superinterfaces: java.io.Serializable

DescriptionThis interface contains definitions for threshold indication types. It’s possible to indicate if the threshold crwas in the up or down direction.

Author: Juha Laine

Version: 0.7, 2001-04-23

Fields

DOWN

public static final java.lang.String DOWN

UP

public static final java.lang.String UP

TrendIndicationTypeSyntaxpublic interface TrendIndicationType extends java.io.Serializable

All Superinterfaces: java.io.Serializable

DescriptionThis interface contains definitions for trend indication types for observed conditions. It’s possible to indicsome observed condition is getting better, worse, or not changing.

Author: Juha Laine

Version: 0.7, 2001-04-23

Member Summary

FieldsString DOWN232String UP232

232

Page 237: OSS Quality of Service API

TrendIndicationType

LESS_SEVERE

Fields

LESS_SEVERE

public static final java.lang.String LESS_SEVERE

MORE_SEVERE

public static final java.lang.String MORE_SEVERE

NO_CHANGE

public static final java.lang.String NO_CHANGE

Member Summary

FieldsString LESS_SEVERE233String MORE_SEVERE233String NO_CHANGE233

233

Page 238: OSS Quality of Service API

TrendIndicationType

NO_CHANGE

234

Page 239: OSS Quality of Service API

C H A P T E R 12Package

javax.oss

EventSyntaxpublic interface Event extends java.io.Serializable, java.lang.Cloneable

All Known Subinterfaces: AlarmEvent183, AlarmListRebuiltEvent186, BaseEvent44, PerformanceDataEvent51, PerformanceDataAvailableEvent49

All Superinterfaces: java.lang.Cloneable, java.io.Serializable

Class Summary

Interfaces

Event235

EventPropertyDescriptor237

ManagedEntityKey240

ManagedEntityValue241

QueryDescriptor244

QueryValue244

Version245 Version provides information describing the version number.

Exceptions

IllegalArgumentException239

UnsupportedOperationException244

Member Summary

MethodsString getAdminDomain()236String getEventTime()236String getEventType()236

235

Page 240: OSS Quality of Service API

Event

getAdminDomain()

Methods

getAdminDomain()

public java.lang.String getAdminDomain()

getEventTime()

public java.lang.String getEventTime()

getEventType()

public java.lang.String getEventType()

getNotificationId()

public java.lang.String getNotificationId()

getSourceIndicator()

public java.lang.String getSourceIndicator()

setAdminDomain(String)

public void setAdminDomain(java.lang.String nid)

Throws:IllegalArgumentException

setEventTime(String)

public void setEventTime(java.lang.String utc_time)

Throws:IllegalArgumentException

String getNotificationId()236String getSourceIndicator()236

void setAdminDomain(String)236void setEventTime(String)236

String setEventType(String)237void setNotificationId(String)237void setSourceIndicator(String)237

Member Summary

236

Page 241: OSS Quality of Service API

EventPropertyDescriptor

setEventType(String)

setEventType(String)

public java.lang.String setEventType(java.lang.String event_type)

Throws:IllegalArgumentException

setNotificationId(String)

public void setNotificationId(java.lang.String nid)

Throws:IllegalArgumentException

setSourceIndicator(String)

public void setSourceIndicator(java.lang.String si)

Throws:IllegalArgumentException

EventPropertyDescriptorSyntaxpublic interface EventPropertyDescriptor extends java.io.Serializable

All Known Subinterfaces: AlarmEventPropertyDescriptor184, AlarmListRebuiltEventPropertyDescriptor187, BaseEventDescriptor46, PerformanceDataEventDescriptor52, PerformanceDataAvailableEventDescriptor50

All Superinterfaces: java.io.Serializable

Member Summary

FieldsString BOOLEAN238String BYTE238String DOUBLE238String FLOAT238String INT238String LONG238String OSSJ_ADMIN_DOMAIN_PROP_NAME238String OSSJ_ADMIN_DOMAIN_PROP_TYPE238String OSSJ_EVENT_TYPE_PROP_NAME238String OSSJ_EVENT_TYPE_PROP_TYPE239String SHORT239String STRING239

Methods

237

Page 242: OSS Quality of Service API

EventPropertyDescriptor

BOOLEAN

Fields

BOOLEAN

public static final java.lang.String BOOLEAN

BYTE

public static final java.lang.String BYTE

DOUBLE

public static final java.lang.String DOUBLE

FLOAT

public static final java.lang.String FLOAT

INT

public static final java.lang.String INT

LONG

public static final java.lang.String LONG

OSSJ_ADMIN_DOMAIN_PROP_NAME

public static final java.lang.String OSSJ_ADMIN_DOMAIN_PROP_NAME

OSSJ_ADMIN_DOMAIN_PROP_TYPE

public static final java.lang.String OSSJ_ADMIN_DOMAIN_PROP_TYPE

OSSJ_EVENT_TYPE_PROP_NAME

public static final java.lang.String OSSJ_EVENT_TYPE_PROP_NAME

String getEventType()239String[] getPropertyNames()239String[] getPropertyTypes()239

Event makeEvent()239ObjectMessage makeObjectMessage(Event, Hashtable)239TextMessage makeTextMessage(Event, Hashtable)239

Member Summary

238

Page 243: OSS Quality of Service API

IllegalArgumentException

OSSJ_EVENT_TYPE_PROP_TYPE

OSSJ_EVENT_TYPE_PROP_TYPE

public static final java.lang.String OSSJ_EVENT_TYPE_PROP_TYPE

SHORT

public static final java.lang.String SHORT

STRING

public static final java.lang.String STRING

Methods

getEventType()

public java.lang.String getEventType()

getPropertyNames()

public java.lang.String[] getPropertyNames()

getPropertyTypes()

public java.lang.String[] getPropertyTypes()

makeEvent()

public Event235 makeEvent()

makeObjectMessage(Event, Hashtable)

public javax.jms.ObjectMessage makeObjectMessage(Event235 event,

java.util.Hashtable properties)

makeTextMessage(Event, Hashtable)

public javax.jms.TextMessage makeTextMessage(Event235 event,

java.util.Hashtable properties)

IllegalArgumentExceptionSyntaxpublic class IllegalArgumentException extends java.lang.Exception

239

Page 244: OSS Quality of Service API

ManagedEntityKey

IllegalArgumentException()

All Implemented Interfaces: java.io.Serializable

Constructors

IllegalArgumentException()

public IllegalArgumentException()

IllegalArgumentException(String)

public IllegalArgumentException(java.lang.String message)

ManagedEntityKeySyntaxpublic interface ManagedEntityKey extends java.io.Serializable, java.lang.Cloneable

All Known Subinterfaces: PerformanceMonitorKey61, ThresholdMonitorKey136

All Superinterfaces: java.lang.Cloneable, java.io.Serializable

Member Summary

ConstructorsIllegalArgumentException()240IllegalArgumentException(String)240

Member Summary

MethodsString getDomain()241Object getPrimaryKey()241String getType()241

void setDomain(String)241void setPrimaryKey(Object)241void setType(String)241

240

Page 245: OSS Quality of Service API

ManagedEntityValue

getDomain()

ains a

n the

Methods

getDomain()

public java.lang.String getDomain()

The Domain name identifies an application’s administrative domain. An administrative domain maintJNDI namespace.

Returns: String domain name

getPrimaryKey()

public java.lang.Object getPrimaryKey()

The unique identifier for the Managed Entity This key is mappable to the EJB primary key wheManagedEntity is represented by an Entity Bean

getType()

public java.lang.String getType()

Returns: String entity’s type name

setDomain(String)

public void setDomain(java.lang.String domain)

Throws:IllegalArgumentException

setPrimaryKey(Object)

public void setPrimaryKey(java.lang.Object key)

Throws:IllegalArgumentException

setType(String)

public void setType(java.lang.String type)

Throws:IllegalArgumentException

ManagedEntityValueSyntaxpublic interface ManagedEntityValue extends java.io.Serializable, java.lang.Cloneable

241

Page 246: OSS Quality of Service API

ManagedEntityValue

KEY

All Known Subinterfaces: ComplexThresholdMonitorValue118, PerformanceMonitorByClassesValue55, PerformanceMonitorByObjectsValue57, PerformanceMonitorValue79, SimpleThresholdMonitorValue127, ThresholdMonitorValue152

All Superinterfaces: java.lang.Cloneable, java.io.Serializable

Fields

KEY

public static final java.lang.String KEY

Methods

getAttributeNames()

public java.lang.String[] getAttributeNames()

getAttributeValue(String)

public java.lang.Object getAttributeValue(java.lang.String attributeName)

Throws:IllegalArgumentException

Member Summary

FieldsString KEY242

MethodsString[] getAttributeNames()242Object getAttributeValue(String)242

ManagedEntityKey getManagedEntityKey()243String[] getPopulatedAttributeNames()243String[] getSettableAttributeNames()243boolean isFullyPopulated()243boolean isPopulated(String)243

void setAttributeValue(String, Object)243void setFullyPopulated()243void setManagedEntityKey(ManagedEntityKey)243void unPopulateAllAttributes()243void unPopulateAttribute(String)243

242

Page 247: OSS Quality of Service API

ManagedEntityValue

getManagedEntityKey()

getManagedEntityKey()

public ManagedEntityKey240 getManagedEntityKey()

getPopulatedAttributeNames()

public java.lang.String[] getPopulatedAttributeNames()

getSettableAttributeNames()

public java.lang.String[] getSettableAttributeNames()

isFullyPopulated()

public boolean isFullyPopulated()

isPopulated(String)

public boolean isPopulated(java.lang.String name)

Throws:IllegalArgumentException

setAttributeValue(String, Object)

public void setAttributeValue(java.lang.String attributeName, java.lang.Object Value)

Throws:IllegalArgumentException

setFullyPopulated()

public void setFullyPopulated()

setManagedEntityKey(ManagedEntityKey)

public void setManagedEntityKey(ManagedEntityKey240 key)

Throws:IllegalArgumentException

unPopulateAllAttributes()

public void unPopulateAllAttributes()

unPopulateAttribute(String)

public void unPopulateAttribute(java.lang.String attr_name)

243

Page 248: OSS Quality of Service API

QueryValue

reset()

Throws:IllegalArgumentException

QueryValueSyntaxpublic interface QueryValue extends java.io.Serializable, java.lang.Cloneable

All Known Subinterfaces: FilterableAttributesValue209, QueryByDNValue103, QueryBySimpleThresAttributesValue122, QueryMonitorValue124, QueryPerformanceMonitorValue100

All Superinterfaces: java.lang.Cloneable, java.io.Serializable

Methods

reset()

public void reset()

QueryDescriptorSyntaxpublic interface QueryDescriptor

All Known Subinterfaces: AlarmByFilterableAttributesQueryDesciptor180

UnsupportedOperationExceptionSyntaxpublic class UnsupportedOperationException extends java.lang.Exception

All Implemented Interfaces: java.io.Serializable

Member Summary

Methodsvoid reset()244

244

Page 249: OSS Quality of Service API

Version

UnsupportedOperationException()

Constructors

UnsupportedOperationException()

public UnsupportedOperationException()

UnsupportedOperationException(String)

public UnsupportedOperationException(java.lang.String message)

VersionSyntaxpublic interface Version extends java.io.Serializable, java.lang.Cloneable

All Superinterfaces: java.lang.Cloneable, java.io.Serializable

DescriptionVersion provides information describing the version number.

Methods

isCompatible(String)

public boolean isCompatible(java.lang.String versionName)

Determines if a version is compatible with the current one.

Returns: true if the given version is compatible with the cuxrrent one ; false otherwise.

Member Summary

ConstructorsUnsupportedOperationException()245UnsupportedOperationException(String)245

Member Summary

Methodsboolean isCompatible(String)245String[] listCompatibles()246String toString()246

245

Page 250: OSS Quality of Service API

Version

listCompatibles()

listCompatibles()

public java.lang.String[] listCompatibles()

Returns the compatible versions.

Returns: an array of String representation of compatible versions.

toString()

public java.lang.String toString()

Returns the current OSS/J API version.

Overrides: java.lang.Object.toString() in class java.lang.Object

Returns: a string representation of the version.

246

Page 251: OSS Quality of Service API

Concepts

Performance ManagementThe purpose of any Performance Management activity is to collect data, which can be used to verify the physi-cal and logical configuration of the resources and to locate potential problems as early as possible. The type of data to be collected is defined by the measurements.

Measurement jobMeasurement jobs are the processes which are executed in order to gather measurement data and assemble it into measurement reports. The collection of measurement data is based on the measurement jobs granularity period, the observable object instances and the scheduled when gathering of measurement data shall be per-formed.

Measurement reportA measurement job generats measurement reports. These measurements reports provides the measurement data of the measurement types of a specific resources at end of each granularity period. The measurement reports can be forwared to the client in two ways: by notification or by loacl storing the measuremnt data for later retrival of the measurement report.

The format of the measuremnt reports and the semantics of the measurement types are not defined by this spec-ification.

Measurement dataEach measurement job will be collecting measurement data at a particular frequency, known as the granularity period of the measurement. At the end of the granularity period a scheduled measurement report shall be gener-ated for each measurement job that is actively collecting measurement data.

Measurement typeEvery measurement job consists of one or more measurement types for which it collects measurement data. The measurement type(s) contained in a job may apply to one or more resources of the same type. A measurement job will only produce measurement results for the measurement type(s) it contains.

Measurement scheduleThe measurement schedule specifies the time frames during which the measurement job will be active. The measurement job is active as soon as the starttime - if supplied in the schedule - is reached. The system shall support a job starttime of up to at least 30 days from the job creation date. If no starttime is provided, the mea-surement job shall become active immediately. The measurement job remains active until the stoptime - if sup-plied in the schedule - is reached. If no job stoptime is specified the measurement job will run indefinitely and can only be stopped by intervention, i.e. by deleting or suspending the measurement job.

The time frame defined by the measurement schedule may contain one or more recording intervals. These recording intervals may repeat on a daily and/or weekly basis and specify the time periods during which the measurement data is collected within the NE. A recording interval is identified by an interval starttime and an interval endtime, which lie between 00.00 and 24.00 hours, aligned on granularity period boundaries. Thus the length of a recording interval will be a multiple of the granularity period. For a single measurement type it shall

247

Page 252: OSS Quality of Service API

Concepts

be possible to specify several measurement jobs with different recording intervals as long as these intervals do not overlap. If it is required that a measurement type be observed by multiple measurement jobs with overlap-ping schedules then the system shall support multiple instances of that measurement type.

Granularity PeriodThe granularity period is the time between the initiation of two successive gatherings of measurement data. Val-ues for the granularity period can be 5 minutes, 15 minutes, 30 minutes, 1 hour. The minimum granularity period is 5 minutes in most cases, but for some measurements it may only make sense to collect data in a larger granularity period. The granularity period shall be synchronised on the full hour.

Observable Object instanceA observable object instance is the resource that the measurement job monitor. The observable object instance is identified by its distinguished name (DN) and must be unique within a certain context, such as a transmission network, a switching network.

Examples: An observed object which is a measurement function:

&#147;IRPNetwork=Example/Subnet=TN2/BSC=BSC15/Cell=0015/CellMeasurement=0010&#148;

Observable Object classes

Report Mode

Distinguished NameA Distinguished Name (DN) is used to uniquely identify a managed object within a namespace. A DN is built from a series of “name components”, referred to as Relative Distinguished Names (RDNs).

248

Page 253: OSS Quality of Service API

Glossary

3GPPThird Generation Partnership Project

AttributeAn element that contains state information about an object.

EMSElement Management System

EventA generic term for any type of occurrence within a network entity.A notification or event report may be used as a mechanism to inform interested parties on the occurrence of the event

Granularity PeriodThe granularity period is the time between the initiation of two successive gatherings of measurement data.

HysterisisSpecifies the amount a threshold value is allowed to oscillate within without generating a new alarm.

J2EEJava" 2 Platform Enterprise Edition

JMSJava" Messaging Service

NMSNetwork Management System

Observable Object Class A classification for objects of the same type that possess the ability to be monitored.

Observable Object InstanceAn instance of an object that can be monitored.

OSSOperation Support Systems

Performance Monitoring JobA systems ability to read measurement data of observed managed object(s) of the network and produce perfor-mance monitoring reports.

QoSQuality of Service

Threshold Monitoring JobA systems ability to set threshold criteria on the measurement data of observed managed object(s) of the net-work and produce alarms when these thresholds are crossed.

249

Page 254: OSS Quality of Service API

Glossary

Value ObjectContains the attribute values that represent the current state of an entity. This object includes mechanisms that allow for the selective retrieval and modification of its attributes.

XMLExtensible Markup Language

250

Page 255: OSS Quality of Service API

Index

AA_BIS_TO_BTS_INTERFACE_FAILURE 217A_BIS_TO_TRX_INTERFACE_FAILURE

217ACK_STATE_CHANGED 209ACKNOWLEDGED 180ACTIVE_OFF_DUTY 79, 152ACTIVE_ON_DUTY 79, 152ADAPTER_ERROR 217AIR_COMPRESSOR_FAILURE 217AIR_CONDITIONING_FAILURE 217AIR_DRYER_FAILURE 217ALARM_CONFIG 119, 128ALARM_INDICATION_SIGNAL 217ALARM_LIST_REBUILT 209AlarmAckState 179AlarmByFilterableAttributesQueryDesciptor

180AlarmConfig 115AlarmCountsValue 181AlarmEvent 183AlarmEventPropertyDescriptor 184AlarmListRebuiltEvent 186AlarmListRebuiltEventPropertyDescriptor 187AlarmMonitor 188AlarmMonitorHome 189AlarmMonitorMethods 190AlarmOperationResult 194AlarmType 202AlarmValue 195AlarmValueIterator 200ANTENNA_PROBLEM 217APPLICATION_SUBSYSTEM_FAILURE 217ASCII 94ASN1 94AttributeValue 204AttributeValueChange 205

BBACK_PLANE_FAILURE 217BackedUpStatusType 206BANDWIDTH_REDUCTION 217BASE_VALUE_TYPE 83BaseEvent 44BaseEventDescriptor 46

BATTERY_BREAKDOWN 218BATTERY_CHARGING_FAULT 218BATTERY_DISCHARGING 218BATTERY_FAILURE 218BINARY 94BOOLEAN 238BROADCAST_CHANNEL_FAILURE 218BYTE 238

CCALL_ESTABLISHMENT_ERROR 218CALL_SETUP_FAILURE 218CHANGED_ALARM 209CLEARED 212CLEARED_ALARM 209CLOCK_SYNCHRONISATION_PROBLEM

218COMBINER_PROBLEM 218COMMERICAL_POWER_FAILURE 218COMMUNICATION_PROTOCOL_ERROR

218COMMUNICATION_SUBSYSTEM_FAILUR

E 218COMMUNICATIONS_ALARM 203ComplexThresholdMonitorValue 118CONFIGURATION_OR_CUSTOMIZING_ER

ROR 219CONGESTION 219COOLING_FAN_FAILURE 219COOLING_SYSTEM_FAILURE 219CorrelatedNotificationValue 207CORRUPT_DATA_M3100 219CPU_CYCLES_LIMIT_EXCEEDED 219create 60, 136, 190createPerformanceMonitor 65createThresholdMonitor 141CRITICAL 212CUMULATIVE_COUNTER 91

DDATA_SET_OR_MODEM_ERROR 219DATA_SET_PROBLEM 219DATABASE_INCONSISTENCY 219DayOfWeekSchedule 163DEFAULT_ALARM_TYPE 116DEFINITION 128DEFINITIONS 119DEGRADED_SIGNAL_M3100 219

251

Page 256: OSS Quality of Service API

Index

DISCRETE_EVENT_REGISTRATION 91DISK_PROBLEM 219DOUBLE 238DOWN 232DTE_DCE_INTERFACE_ERROR 219

EENCLOSURE_DOOR_OPEN_M3100 220ENGINE_FAILURE 220ENVIRONMENTAL_ALARM 203EQUIPMENT_ALARM 203EQUIPMENT_IDENTIFIER_DUPLICATION

220EQUIPMENT_MALFUNCTION 220Event 235EVENT_MULTIPLE 100EVENT_SINGEL 100EVENT_TYPE_VALUE 50, 53, 184, 187EventPropertyDescriptor 237EXCESSIVE_BIT_ERROR_RATE 220EXCESSIVE_RECEIVER_TEMPERATURE

220EXCESSIVE_TRANSMITTER_OUTPUT_PO

WER 220EXCESSIVE_TRANSMITTER_TEMPERAT

URE 220EXCESSIVE_VIBRATION 220EXPLOSIVE_GAS 220EXTENDED_ALARM_TYPE_PROP_NAME

185EXTENDED_ALARM_TYPE_PROP_TYPE

185ExtendedAlarmType 208EXTERNAL_DEVICE_PROBLEM 220EXTERNAL_EQUIPMENT_FAILURE 220EXTERNAL_POWER_SUPPLY_FAILURE

221EXTERNAL_TRANSMISSION_DEVICE_FAI

LURE 221

FFALLING 133FAR_END_RECEIVER_FAILURE 221FILE_ERROR 221FILE_MULTIPLE 100FILE_SINGEL 100FILE_SYSTEM_CALL_UNSUCCESSFUL 221FILTERABLE_ATTRIBUTES_ARG_NAME

181FILTERABLE_ATTRIBUTES_ARG_TYPE

181FilterableAttributesValue 209FIRE 221FIRE_DETECTOR_FAILURE 221FLOAT 238FLOOD 221FRAMING_ERROR_M3100 221FREQUENCY_HOPPING_DEGRADED 221FREQUENCY_HOPPING_FAILURE 221FREQUENCY_REDEFINITION_FAILED 221fromJMS 51, 53, 185, 188FUSE_FAILURE 222

GGAUGE 91GENERATOR_FAILURE 222GET_CURRENT_RESULT_REPORT 64getAckTime 196getAckUserId 196getAdditionalText 197getAdminDomain 236getAlarm 183getAlarmAckState 197, 210getAlarmConfig 119, 122, 129getAlarmId 197getAlarmReference 195getAlarmType 116, 197, 210getAttributeChanges 197getAttributeName 131, 204, 206getAttributeNames 242getAttributeType 205, 206getAttributeValue 242getBackedUpStatus 198getBackUpObject 198getClearedCount 182getCollectionMethod 92getCorrelatedNotifications 198getCriticalCount 182getCurrentReportFormat 67getCurrentResultReport 67getDailySchedule 172getDirection 131getDistinguishedNames 104getDomain 241getEventDescriptor 67, 142, 191getEventTime 198, 236getEventType 236, 239

252

Page 257: OSS Quality of Service API

Index

getEventTypes 68, 142, 191getExpirationDate 96getExtendedAlarmType 183, 186getFailureReason 62, 138getGranularity 154getGranularityPeriod 84, 102, 125getIndeterminateCount 182getMajorCount 182getManagedEntityKey 243getManagedObjectClass 45, 198, 210getManagedObjectInstance 45, 198, 208getManagetObjectInstance 210getMeasurementAttributes 56, 59getMeasurementName 85, 102getMinorCount 182getMonitoredAttributes 199getMonitorName 125getMonitorValueType 126getName 93getNewValue 206getNext 89, 98, 157, 169, 170, 201getNotificationId 208, 236getObservableAttributes 68, 143getObservableObject 129getObservableObjectClasses 68, 143getObservableObjects 69, 120, 123, 143getObservedObjectClasses 56getObservedObjects 59getOffset 131getOldValue 206getOwner 95getPerceivedSeverity 117, 199, 211getPerformanceMonitor 69getPerformanceMonitorKey 45, 63, 85getPerformanceMonitorPrimaryKey 61getPerformanceMonitorReport 52getPerformanceMonitors 70getPerformanceMonitorTypes 70getPerformanceMonitorValueType 102getPerformanceReportInfo 70getPopulatedAttributeNames 243getPrimaryKey 241getProbableCause 117, 199getPropertyNames 239getPropertyTypes 239getProposedRepairActions 199getQueryTypes 71, 144, 191getReason 187, 195getReportByEvent 85getReportByFile 85

getReportFormat 52, 85, 97getReportFormats 71getReportInformation 49getReportModes 71getReportPeriod 85getSchedule 85, 154getScope 56getSettableAttributeNames 243getSourceIndicator 236getSpecification 95getSpecificProblem 117, 199getStartTime 172getStartTimes 162getState 86, 102, 126getStopTime 172getStopTimes 162getSupportedGranularities 72, 144getSupportedOptionalOperations 72, 144, 191getSystemDN 45, 200getTechnology 95getThresholdDefinition 129getThresholdDefinitions 120, 123getThresholdMonitor 145getThresholdMonitorKey 138, 154getThresholdMonitorPrimaryKey 137getThresholdMonitors 145getThresholdMonitorTypes 146getThresholdName 154getThresholdState 154getTimeZone 164getTrendIndication 200getTresholdIndication 200getTriggerRule 120getType 93, 95, 132, 241getURL 97getValue 132, 205getVersion 61, 96, 135, 136getWarningCount 182getWeeklySchedule 172GRANULARITY 153GRANULARITY_PERIOD 83

HHEATING_OR_VENTILATION_OR_COOLI

NG_SYSTEM_PROBLEM 222HIGH_HUMIDITY 222HIGH_TEMPERATURE 222HIGH_WIND 222HourSchedule 161

253

Page 258: OSS Quality of Service API

Index

HUMIDITY_UNACCEPTABLE 222

IICE_BUILD_UP 222IllegalArgumentException 239, 240IllegalStateException 167INDETERMINATE 212, 222INPUT_DEVICE_ERROR 222INPUT_OUTPUT_DEVICE_ERROR 222INPUT_PARAMETER_OUT_OF_RANGE 222INT 238INTEGER 92INTEGRITY_VIOLATION 203INVALID_MESSAGE_RECEIVED 223INVALID_MSU_RECEIVED 223INVALID_PARAMETER 223INVALID_POINTER 223isActive 162, 164, 173isAlarmAckStateSet 211isAlarmConfigSet 123isAlarmTypeSet 211isArray 93isCompatible 245isFridayActive 164isFullyPopulated 243isGranularityPeriodSet 102, 126isManagedObjectClassSet 211isManagetObjectInstanceSet 211isMeasurementNameSet 102isMondayActive 164isMonitorNameSet 126isObservableObjectsSet 123isObservableObjectsSupported 73, 146isPerceivedSeveritySet 211isPopulated 243isSaturdayActive 164isScheduleSet 86, 155isStateSet 102, 126isSuccess 63, 138, 195isSundayActive 164isThresholdDefinitionsSet 123isThursdayActive 165isTuesdayActive 165isWednesdayActive 165

KKEY 153, 242

LLAN_ERROR 223LAPD_LINK_PROTOCOL_FAILURE 223LEAK_DETECTION 223LESS_SEVERE 233LINE_CARD_PROBLEM 223LINE_INTERFACE_FAILURE 223LINK_FAILURE 223listCompatibles 246LOCAL_ALARM_INDICATION 223LOCAL_NODE_TRANSMISSION_ERROR

223LONG 238LOSS_OF_FRAME 224LOSS_OF_MULTI_FRAME 224LOSS_OF_POINTER 224LOSS_OF_SIGNAL 224LOSS_OF_SYNCHRONISATION 224LOST_REDUNDANCY 224LOW_BATTERY_THRESHOLD 224LOW_CABLE_PRESSURE 224LOW_FUEL 224LOW_HUMIDITY 224LOW_TEMPERATURE 224LOW_WATER 224

MMAINS_BREAKDOWN_WITH_BATTERY_B

ACKUP 225MAINS_BREAKDOWN_WITHOUT_BATTE

RY_BACKUP 225MAJOR 212MAKE_PERFORMANCE_MONITOR_BY_C

LASSES_VALUE 65makeEvent 239makeObjectMessage 239makePerformanceMonitorByClassesValue 73makePerformanceMonitorByObjectsValue 73makePerformanceMonitorValue 73makeQueryValue 74, 146, 192makeSimpleThresholdMonitorValue 147makeTextMessage 239makeThresholdMonitorValue 147MANAGED_OBJECT_CLASS_PROP_NAME

47, 185MANAGED_OBJECT_CLASS_PROP_TYPE

47, 185MANAGED_OBJECT_INSTANCE_PROP_N

254

Page 259: OSS Quality of Service API

Index

AME 48, 185MANAGED_OBJECT_INSTANCE_PROP_T

YPE 48, 185ManagedEntityKey 240ManagedEntityValue 241MATERIAL_SUPPLY_EXHAUSTED 225MEASUREMENT_ATTRIBUTES 56, 58MEASUREMENT_NAME 84MEMORY_MISMATCH 225MESSAGE_NOT_EXPECTED 225MESSAGE_NOT_INITIALISED 225MESSAGE_OUT_OF_SEQUENCE 225MINOR 213MORE_SEVERE 233MULTIPLEXER_PROBLEM_M3100 225

NNAME 153NE_IDENTIFIER_DUPLICATION 225NEW_ALARM 209NO_CHANGE 233NO_REPORT_MODE 100

OOBJECT_IS_BACKED_UP 207OBJECT_IS_NOT_BACKED_UP 207OBSERVABLE_OBJECT 129OBSERVABLE_OBJECT_CLASSES 56OBSERVABLE_OBJECTS 119ObservableObjectClassIterator 169ObservableObjectIterator 167OBSERVED_OBJECTS 58OPERATIONAL_VIOLATION 203OSS_VERSION_PROP_NAME 48OSS_VERSION_PROP_TYPE 48OSSJ_ADMIN_DOMAIN_PROP_NAME 238OSSJ_ADMIN_DOMAIN_PROP_TYPE 238OSSJ_EVENT_TYPE_PROP_NAME 238OSSJ_EVENT_TYPE_PROP_TYPE 239OUT_OF_CPU_CYCLES 225OUT_OF_MEMORY 225OUTPUT_DEVICE_ERROR 225

PPATH_TRACE_MISMATCH 226PAYLOAD_TYPE_MISMATCH 226PERCEIVED_SEVERITY_PROP_NAME 185PERCEIVED_SEVERITY_PROP_TYPE 185

PerceivedSeverity 212PERFORMANCE_DEGRADED 226PERFORMANCE_MONITOR_KEY_PROP_

NAME 48PERFORMANCE_MONITOR_KEY_PROP_T

YPE 48PerformanceAttributeDescriptor 90PerformanceDataAvailableEvent 49PerformanceDataAvailableEventDescriptor 50PerformanceDataEvent 51PerformanceDataEventDescriptor 52PerformanceMonitor 53PerformanceMonitorByClassesValue 55PerformanceMonitorByObjectsValue 57PerformanceMonitorHome 59PerformanceMonitorKey 61PerformanceMonitorKeyResult 62PerformanceMonitorMethods 63PerformanceMonitorState 78PerformanceMonitorValue 79PerformanceMonitorValueIterator 88PHYSICAL_VIOLATION 203POWER_PROBLEM_M3100 226POWER_SUPPLY_FAILURE 226PRESSURE_UNACCEPTABLE 226ProbableCause 213PROCESSING_ERROR_ALARM 203PROCESSOR_PROBLEM_M3100 226PROTECTION_PATH_FAILURE 226PUMP_FAILURE_M3100 226

QQUALITY_OF_SERVICE_ALARM 204QUERY_NAME_VALUE 181QUERY_TYPE 101queryAlarmCounts 192queryAlarmList 192QueryByDNValue 103QueryBySimpleThresAttributesValue 122QueryDescriptor 244QueryMonitorValue 124queryPerformanceMonitors 74QueryPerformanceMonitorValue 100queryThresholdMonitors 147QueryValue 244QUEUE_SIZE_EXCEEDED 226

255

Page 260: OSS Quality of Service API

Index

RREAL 92RECEIVE_FAILURE 226RECEIVER_ANTENNA_FAULT 226RECEIVER_FAILURE_M3100 227RECEIVER_MULTICOUPLER_FAILURE

227RECTIFIER_FAILURE 227RECTIFIER_HIGH_VOLTAGE 227RECTIFIER_LOW_F_VOLTAGE 227RECUCED_LOGGING_CAPABILITY 227REDUCED_ALARM_REPORTING 227REDUCED_EVENT_REPORTING 227REDUCED_TRANSMITTER_OUTPUT_POW

ER 227REMOTE_ALARM_INDICATION 227REMOTE_ALARM_INTERFACE 227REMOTE_NODE_TRANSMISSION_ERROR

227remove 90, 99, 158, 169, 171, 202removePerformanceMonitor 75removeThresholdMonitor 148REPLACEABLE_UNIT_MISSING 228REPLACEABLE_UNIT_PROBLEM 228REPLACEABLE_UNIT_TYPE_MISMATCH

228REPORT_BY_EVENT 84REPORT_BY_FILE 84REPORT_FORMAT 84ReportFormat 93ReportInfo 96ReportInfoIterator 97REPORTING_PERIOD 84ReportMode 99reset 244RESOURCE_AT_OR_NEARING_CAPACITY

228RESPONSE_TIME_EXCESSIVE 228RESUME_PERFORMANCE_MONITOR 65RESUME_THRESHOLD_MONITOR 140resumePerformanceMonitor 75resumeThresholdMonitor 148RETRANSMISSION_RATE_EXCESSIVE 228RISING 134ROUTING_FAILURE 228

SSCHEDULE 84, 154

Schedule 171SCOPE 56SECURITY_VIOLATION 204setAdminDomain 236setAlarmConfig 120, 123, 129setAlarmType 117setALLCrossed 159setAllDaysActive 165setANYCrossed 159setAttributeName 132setAttributeValue 243setDailySchedule 173setDirection 132setDistinguishedNames 104setDomain 241setEACHCrossed 160setEventTime 236setEventType 237setFailureReason 138setFridayActive 165setFullyPopulated 243setGranularity 155setGranularityPeriod 86, 103, 126setManagedEntityKey 243setManagedObjectClass 45setManagedObjectInstance 45setMeasurementAttributes 57, 59setMeasurementName 86, 103setMondayActive 165setMonitorName 127setMonitorValueType 127setName 93setNONECrossed 160setNotificationId 237setObservableObject 130setObservableObjects 121, 124setObservedObjectClasses 57setObservedObjects 59setOffset 132setPerceivedSeverity 117setPerformanceMonitorKey 46setPerformanceMonitorPrimaryKey 62setPerformanceMonitorValueType 103setPrimaryKey 241setProbableCause 117setReportByEvent 86setReportByFile 87setReportFormat 87setReportPeriod 87setSaturdayActive 165

256

Page 261: OSS Quality of Service API

Index

setSchedule 88, 155setScope 57setSourceIndicator 237setSpecificProblem 118setStartTime 173setStartTimes 162setState 103, 127setStopTime 173setStopTimes 163setSuccess 138setSundayActive 166setSystemDN 46setThresholdDefinition 130setThresholdDefinitions 121, 124setThresholdMonitorKey 138setThresholdMonitorPrimaryKey 137setThresholdName 156setThursdayActive 166setTimeZone 166setTriggerRule 121setTuesdayActive 166setType 93, 133, 241setValue 133setWednesdayActive 166setWeeklySchedule 173SHORT 239SIGNAL_LABEL_MISMATCH 228SIGNAL_QUALITY_EVALUATION_FAULT

228SIMPLE_THRESHOLD_MONITOR_TYPE

140SimpleThresholdMonitorValue 127SMOKE 228SOFTWARE_DOWNLOAD_FAILURE 228SOFTWARE_ENVIRONMENT_PROBLEM

228SOFTWARE_ERROR 229SOFTWARE_PROGRAM_ABNORMALLY_

TERMINATED 229SOFTWARE_PROGRAM_ERROR 229SS7_PROTOCOL_FAILURE 229STATE 84, 154STATUS_INSPECTION 92STORAGE_CAPACITY_PROBLEM_M3100

229STRING 92, 239SUSPEND_PERFORMANCE_MONITOR 65SUSPEND_THRESHOLD_MONITOR 140SUSPENDED 79, 152suspendPerformanceMonitor 75

suspendThresholdMonitor 149SYNCHRONISATION_SOURCE_MISMATC

H 229SYSTEM_CALL_UNSUCCESSFUL 229SYSTEM_DN_PROP_NAME 49SYSTEM_DN_PROP_TYPE 49SYSTEM_RESOURCES_OVERLOAD 229

TTEMPERATURE_UNACCEPTABLE 229TERMINAL_PROBLEM 229THRESHOLD_CROSSED 229ThresholdDefinition 130ThresholdDirection 133ThresholdIndicationType 231ThresholdMonitor 134ThresholdMonitorHome 135ThresholdMonitorKey 136ThresholdMonitorKeyResult 137ThresholdMonitorMethods 139ThresholdMonitorState 151ThresholdMonitorValue 152ThresholdMonitorValueIterator 156TIME_DOMAIN_VIOLATION 204TIME_TICKS 92TIMEOUT_EXPIRED 229TIMESLOT_HARDWARE_FAILURE 230TIMING_PROBLEM_M3100 230toJMS 186, 188toString 246TOXIC_GAS 230TOXIC_LEAK_DETECTED 230TRANSCEIVER_PROBLEM 230TRANSCODER_OR_RATE_ADAPTER_PRO

BLEM 230TRANSCODER_PROBLEM 230TRANSMISSION_ERROR 230TRANSMISSION_FAILURE 230TRANSMIT_FAILURE 230TRANSMITTER_ANTENNA_FAILURE 230TRANSMITTER_ANTENNA_NOT_ADJUST

ED 230TRANSMITTER_FAILURE_M3100 231TRANSMITTER_LOW_VOLTAGE_OR_CU

RRENT 231TRANSMITTER_OFF_FREQUENCY 231TrendIndicationType 232TRIGGER_RULE_ON_ALL_CROSSED 159TRIGGER_RULE_ON_ANY_CROSSED 159

257

Page 262: OSS Quality of Service API

Index

TRIGGER_RULE_ON_EACH_CROSSED 159TRIGGER_RULE_ON_NONE_CROSSED 159TRIGGER_RULES 119TriggerRule 158TRUNK_CARD_PROBLEM 231TRY_CREATE_PERFORMANCE_MONITO

RS 65TRY_CREATE_THRESHOLD_MONITORS

140TRY_REMOVE_PERFORMANCE_MONITO

RS 65TRY_REMOVE_THRESHOLD_MONITORS

141TRY_RESUME_PERFORMANCE_MONITO

RS 65TRY_RESUME_THRESHOLD_MONITORS

141TRY_SUSPEND_PERFORMANCE_MONITO

RS 65TRY_SUSPEND_THRESHOLD_MONITORS

141tryAcknowledgeAlarms 193tryCreatePerformanceMonitors 76tryCreateThresholdMonitors 149tryRemovePerformanceMonitors 77tryRemoveThresholdMonitors 150tryResumePerformanceMonitors 77tryResumeThresholdMonitors 150trySuspendPerformanceMonitors 78trySuspendThreholdMonitors 151tryUnacknowledgeAlarms 194

UUNACKNOWLEDGED 180UNAVAILABLE 231UNDERLYING_RESOURCE_UNAVAILABL

E 231unPopulateAllAttributes 243unPopulateAttribute 243UnsupportedOperationException 244, 245UP 232

VVALUE_TYPE 56, 58VARIABLE_OUT_OF_RANGE 231VENTILATION_SYSTEM_FAILURE 231Version 245VERSION_MISMATCH 231

WWARNING 213WATCH_DOG_TIMER_EXPIRED 231

XXML 94

258