SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.
-
Upload
mitchell-branscomb -
Category
Documents
-
view
218 -
download
3
Transcript of SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.
SAI-AIS-NTF-A.01.01
SA Forum Extended Training Materials
Notification ServiceLesson 1 of 2
Copyright© 2006 Service Availability™ Forum, Inc 2
Contents
This first lesson on the Notification Service addresses the following topics• Notification Service Model
– Users of the Notification Service– Notifications and Notification Filters– Notification Types– Common Parameters– Notification Parameters– Notification Delivery Characteristics– Integration of HPI Events– Semantic Identifiers of Notification Elements
• Notification Service Types
Copyright© 2006 Service Availability™ Forum, Inc 3
Notification Service Reports incidents or changes in statuses of entities as notifications A user of the Notification Service is either (or both) of the following:
• Producer that generates notifications using the Producer API• Consumer that consumes notifications that were generated by producers
and is either (or both) of the following: – Subscriber gets notifications that are forwarded when they occur using the
Subscriber API (push interface)– Reader retrieves historical notification entries from the persistent notification log
using the Reader API (pull interface)
Notifications are data objects that are:• Generated using the Producer API, and• Forwarded to users of the Subscriber API, or delivered to users of the
Reader API Notification filters are used with the Subscriber API and Reader API to:
• Reduce the number of notifications that are delivered to the consumers • Allow a user application to specify the notifications in which it is interested
Copyright© 2006 Service Availability™ Forum, Inc 4
Notification ServiceThe Notification Library and the Notification Server and the interactions with other entities in the system
SNMPManager
CIM/WEBMClient
Notification Log File
Log Service
Transport Service (e.g., Message Service or Event Service)
NotificationService
Forwarding
Logging
NotificationServer
SNMP MIB CIM MOF
SNMP TrapsCIM Indications
Application Producer
NotificationLibrary
Application SubscriberNotification
Library
SNMP AgentSubscriber/Reader
NotificationLibrary
CIM ProviderSubscriber/Reader
NotificationLibrary
Alarm Mgr Reader
NotificationLibrary
Copyright© 2006 Service Availability™ Forum, Inc 5
Notification Types Notifications are grouped into the following notification types
• Object Create / Delete – Reports creation or deletion of managed objects, such as service units or components instantiated or terminated by the AMF, or threads, users, etc created or deleted by the application. Defined in X.730
• Attribute Change – Reports attribute changes of configuration data for a managed object, such as AMF configuration data or application-specific default configuration data, Defined in X.730
• State Change – Reports a change of state of a managed object as a result of either an internal operation or a management operation. Defined in ITU X.731
• Alarm – Reports a specific event that may or may not represent an error, e.g., application detecting a communication failure, operating system reaching a threshold of maximum number of files opened, AMF or AIS Service incurring an internal error. Defined in ITU X.733
• Security Alarm – Indicates an attack or potential attack on system security, such as repeated login attempts, occurrence of an event at an unexpected or prohibited time, illegal modification of data. Defined in X.736
Copyright© 2006 Service Availability™ Forum, Inc 6
Common Parameters
Name X.73x Recommendation Default Value
Event Type Mandatory Parameter
Notification Object Mandatory Parameter
Notifying Object Notification Object
Notification Class Identifier
Event Time Mandatory Parameter
Notification Identifier Optional Parameter
Correlated Notifications Optional Parameter NULL, indicates either a first time occurrence, or that no correlation need be applied
Additional Text Optional Parameter
Additional Information Optional Parameter
Copyright© 2006 Service Availability™ Forum, Inc 7
Specific Parameters Specific parameters for object creation and deletion
notifications
Name X.73x Recommendation Default Value
Source Indicator Optional Parameter
Attribute List Optional Parameter
Attribute Identifier Optional Parameter
Attribute Value Optional Parameter
Copyright© 2006 Service Availability™ Forum, Inc 8
Specific Parameters Specific parameters for attribute change notifications
Name X.73x Recommendation Default Value
Source Indicator Optional Parameter
Changed State Attribute List
Mandatory Parameter
Attribute Identifier Mandatory Parameter
Old Attribute Value Optional Parameter
New Attribute Value Mandatory Parameter
Copyright© 2006 Service Availability™ Forum, Inc 9
Specific Parameters Specific parameters for state change notifications
Name X.73x Recommendation Default Value
Source Indicator Optional Parameter AMF
Changed State Attribute List Mandatory Parameter
Attribute Identifier Mandatory Parameter
Old Attribute Value Optional Parameter
New Attribute Value Mandatory Parameter
Copyright© 2006 Service Availability™ Forum, Inc 10
Specific Parameters Specific parameters for alarm notifications
Name X.73x Recommendation Default Value
Probable Cause Mandatory Parameter
Specific Problems Optional Parameter
Perceived Severity Mandatory Parameter Major
Trend Indication Optional Parameter No Change
Threshold Information Optional Parameter
Monitored Attributes Optional Parameter
Proposed Repair Actions Optional Parameter
Copyright© 2006 Service Availability™ Forum, Inc 11
Specific Parameters Specific parameters for security alarm notifications
Name X.73x Recommendation Default Value
Cause Mandatory Parameter
Severity Mandatory Parameter
Detector Mandatory Parameter
User Mandatory Parameter
Provider Mandatory Parameter
Copyright© 2006 Service Availability™ Forum, Inc 12
Notification Delivery Characteristics
Guaranteed Delivery – Alarm and security alarm notifications are guaranteed to be delivered to subscribers. An implementation may provide lower quality of service for delivery of object creation/deletion, attribute value change, and state change notifications
At Most Once Delivery – A notification is not delivered to a subscriber multiple times
Ordering – For a given notification type, notifications are delivered to a subscriber, or retrieved by a reader, in the order in which the producer generated them
Completeness – Only complete notifications are delivered to a subscriber or reader
Persistence – Alarm and security alarm notifications are stored persistently. Object creation/deletion, attribute value change, and state change notifications need not be stored persistently
Copyright© 2006 Service Availability™ Forum, Inc 13
Semantic Identifiers for Notification Elements Some of the notification parameters are generic containers for elements
of various data types and meaning• Thus, not only the type but also the meaning has to be specified to enable
subscribers to interpret the element correctly Such a semantic identifier, called the Notification Element Identifier
(NEI), is defined for a notification class and a parameter, and is required for the following notification elements • Additional Information (all notification types)• Specific Problems (alarm notifications)• Threshold Information (alarm notifications)• Monitored Attributes (alarm notifications)• Attribute List (object create/delete notifications)• Changed Attribute List (attribute value change notifications)• Changed State Attribute List (state change notifications)
Uniqueness of identifiers for each parameter in a notification class is required
The Specific Problems element needs special handling of the NEI (see the SaNtfSpecificProblemT type on Slide 23)
Copyright© 2006 Service Availability™ Forum, Inc 14
Notification Service Handles
Handle
Notification Handle
Notification Filter Handle
Read Handle
typedef SaUint64T SaNtfHandleT;The handle supplied to a process during initialization of the Notification Service library
typedef SaUint64T SaNtfNotificationHandleT; The handle to the internal notification structure that contains notifications
typedef SaUint64T SaNtfNotificationFilterHandleT;The handle to the internal notification filter structure
typedef SaUint64T SaNtfReadHandleT;The handle that is used in the notification reader API
Copyright© 2006 Service Availability™ Forum, Inc 15
Notification Service Callbacks
There are two callback functions that the Notification Service library can invoke• saNtfNotificationCallback() is used to deliver notifications
to the application
• saNtfNotificationDiscardedCallback() informs the application that notifications have been discarded
typedef struct {
SaNtfNotificationCallbackT saNtfNotificationCallback;
SaNtfNotificationDiscardedCallbackT saNtfNotificationDiscardedCallback;
} SaNtfCallbacksT;
Copyright© 2006 Service Availability™ Forum, Inc 16
Notification Type
The SaNtfNotificationTypeT enum has five values
typedef enum {
SA_NTF_TYPE_OBJECT_CREATE_DELETE,
SA_NTF_TYPE_ATTRIBUTE_CHANGE,
SA_NTF_TYPE_STATE_CHANGE,
SA_NTF_TYPE_ALARM,
SA_NTF_TYPE_SECURITY_ALARM
} SaNtfNotificationTypeT;
Copyright© 2006 Service Availability™ Forum, Inc 17
Event Type The SaEventTypeT enum has 22 values
typedef enum { SA_NTF_OBJECT_NOTIFICATIONS_START = SA_NTF_TYPE_OBJECT_CREATE_DELETE, SA_NTF_OBJECT_CREATION, SA_NTF_OBJECT_DELETION, SA_NTF_ATTRIBUTE_NOTIFICATIONS_START = SA_NTF_TYPE_ATTRIBUTE_CHANGE, SA_NTF_ATTRIBUTE_ADDED, SA_NTF_ATTRIBUTE_REMOVED, SA_NTF_ATTRIBUTE_CHANGED, SA_NTF_ATTRIBUTE_RESET, SA_NTF_STATE_CHANGE_NOTIFICATIONS_START = SA_NTF_TYPE_STATE_CHANGE, SA_NTF_OBJECT_STATE_CHANGE, SA_NTF_ALARM_NOTIFICATIONS_START = SA_NTF_TYPE_ALARM, SA_NTF_ALARM_COMMUNICATION, SA_NTF_ALARM_QOS, SA_NTF_ALARM_PROCESSING, SA_NTF_ALARM_EQUIPMENT, SA_NTF_ALARM_ENVIRONMENT, SA_NTF_SECURITY_ALARM_NOTIFICATIONS_START = SA_NTF_TYPE_SECURITY_ALARM, SA_NTF_INTEGRITY_VIOLATION, SA_NTF_OPERATION_VIOLATION, SA_NTF_PHYSICAL_VIOLATION, SA_NTF_SECURITY_SERVICE_VIOLATION, SA_NTF_TIME_VIOLATION}
Copyright© 2006 Service Availability™ Forum, Inc 18
Notification Objects and Notifying Objects
Both notification objects and notifying objects use SaNameT• The name of a notification object is typically an LDAP DN defined
by AIS, e.g., for an AMF component, Message Service message queue, etc
– Currently, the Notification Service does not define a naming scheme for non-AIS objects such as operating system resources, HPI objects, or application-specific objects
• The name of the notifying object is typically the LDAP DN of an AMF logical entity producing the notification
– Currently, the Notification Service does not define a naming scheme for notifying objects that are not AMF components. If the notifying object is not an AMF logical entity, an application-specific name may be used
• The values of notification objects and notifying objects are interpreted only for those cases defined in filtering
Copyright© 2006 Service Availability™ Forum, Inc 19
Notification Class Identifier The notification class identifier (NCI)
uniquely identifies the kind of situation that caused the notification
• For vendorId, use the SNMP enterprise number listed in http://www.iana.org/assignments/enterprise-numbers
• The majorId and minorId values can be assigned by a vendor
• For SA Forum, the vendorId is and the majorId is given in SaServicesT (see SA Forum Overview document)
Use SaNtfElementIdT for notification element identifiers and SaNtfIdentifierT for notification identifiers
typedef struct { SaUint32T vendorId; SaUint16T majorId; SaUint16T minorId;} SaNtfClassIdT;
#define SA_NTF_VENDOR_ID_SAF 18568
typedef SaUint16T SaNtfElementIdT;typedef SaUint64T SaNtfIdentifierT;#define SA_NTF_IDENTIFIER_UNUSED ((SaNtfIdentifierT) 0)
Copyright© 2006 Service Availability™ Forum, Inc 20
Notification Value Type
The SaNtfValueTypeT defines the possible types of values within a structure of type SaNtfValueT
typedef enum { SA_NTF_VALUE_UINT8, SA_NTF_VALUE_INT8, SA_NTF_VALUE_UINT16, SA_NTF_VALUE_INT16, SA_NTF_VALUE_UINT32, SA_NTF_VALUE_INT32, SA_NTF_VALUE_FLOAT, SA_NTF_VALUE_UINT64, SA_NTF_VALUE_INT64, SA_NTF_VALUE_DOUBLE, SA_NTF_VALUE_LDAP_NAME, SA_NTF_VALUE_STRING, SA_NTF_VALUE_IPADDRESS, SA_NTF_VALUE_BINARY, SA_NTF_VALUE_ARRAY, } SaNtfValueTypeT;
Copyright© 2006 Service Availability™ Forum, Inc 21
Notification Value TypeSaNtfValueT defines a union type that is used in notifications for parameters or parameter elements that may be of varying data type
A value can be one of the types specified by SaNtfValueTypeT
• ptrVal represents variable length fields such as LDAP names, strings, IP addresses, and binary data
– To initialize this structure and to set a pointer to the real data, use saNtfPtrValAllocate()
– To retrieve the real data, use saNtfPtrValGet()
• arrayVal represents sets of data of identical type such as notification identifiers, attributes, etc
– To access the real data, use saNtfArrayValAllocate() and saNtfArrayValGet()
typedef union {SaUint8T uint8Val; SaInt8T int8Val; SaUint16T uint16Val; SaInt16T int16Val; SaUint32T uint32Val; SaInt32T int32Val; SaFloatT floatVal; SaUint64T uint64Val; SaInt64T int64Val; SaDoubleT doubleVal;
struct {SaUint16T dataOffset;SaUint16T dataSize;
} ptrVal; struct {
SaUint16T arrayOffset;SaUint16T numElements;SaUint16T elementSize;
} arrayVal;
} SaNtfValueT;
Copyright© 2006 Service Availability™ Forum, Inc 22
Probable Cause Type The SaNtfProbableCauseT enum has the following values
typedef enum {SA_NTF_ADAPTER_ERROR,SA_NTF_APPLICATION_SUBSYSTEM_FAILURE,SA_NTF_BANDWIDTH_REDUCED,SA_NTF_CALL_ESTABLISHMENT_ERROR,SA_NTF_COMMUNICATIONS_PROTOCOL_ERROR,SA_NTF_COMMUNICATIONS_SUBSYSTEM_FAILURE,SA_NTF_CONFIGURATION_OR_CUSTOMIZATION_ERROR,SA_NTF_CONGESTION,SA_NTF_CORRUPT_DATA,SA_NTF_CPU_CYCLES_LIMIT_EXCEEDED,SA_NTF_DATASET_OR_MODEM_ERROR,SA_NTF_DEGRADED_SIGNAL,SA_NTF_D_T_E,SA_NTF_ENCLOSURE_DOOR_OPEN,SA_NTF_EQUIPMENT_MALFUNCTION,SA_NTF_EXCESSIVE_VIBRATION,SA_NTF_FILE_ERROR,SA_NTF_FIRE_DETECTED,SA_NTF_FLOOD_DETECTED,SA_NTF_FRAMING_ERROR,SA_NTF_HEATING_OR_VENTILATION_OR_COOLING_SYSTEM_PROBLEM,SA_NTF_HUMIDITY_UNACCEPTABLE,SA_NTF_INPUT_OUTPUT_DEVICE_ERROR,SA_NTF_INPUT_DEVICE_ERROR,SA_NTF_L_A_N_ERROR,SA_NTF_LEAK_DETECTED,SA_NTF_LOCAL_NODE_TRANSMISSION_ERROR,SA_NTF_LOSS_OF_FRAME,SA_NTF_LOSS_OF_SIGNAL,SA_NTF_MATERIAL_SUPPLY_EXHAUSTED,SA_NTF_MULTIPLEXER_PROBLEM,SA_NTF_OUT_OF_MEMORY,SA_NTF_OUTPUT_DEVICE_ERROR,SA_NTF_PERFORMANCE_DEGRADED,SA_NTF_POWER_PROBLEM,SA_NTF_PRESSURE_UNACCEPTABLE,SA_NTF_PROCESSOR_PROBLEM,
SA_NTF_PUMP_FAILURE,SA_NTF_QUEUE_SIZE_EXCEEDED,SA_NTF_RECEIVE_FAILURE,SA_NTF_RECEIVER_FAILURE,SA_NTF_REMOTE_NODE_TRANSMISSION_ERROR,SA_NTF_RESOURCE_AT_OR_NEARING_CAPACITY,SA_NTF_RESPONSE_TIME_EXCESSIVE,SA_NTF_RETRANSMISSION_RATE_EXCESSIVE,SA_NTF_SOFWARE_ERROR,SA_NTF_SOFWARE_PROGRAM_ABNORMALLY_TERMINATED,SA_NTF_SOFTWARE_PROGRAM_ERROR,SA_NTF_STORAGE_CAPACITY_PROBLEM,SA_NTF_TEMPERATURE_UNACCEPTABLE,SA_NTF_THRESHOLD_CROSSED,SA_NTF_TIMING_PROBLEM,SA_NTF_TOXIC_LEAK_DETECTED,SA_NTF_TRANSMIT_FAILURE,SA_NTF_TRANSMITTER_FAILURE,SA_NTF_UNDERLYING_RESOURCE_UNAVAILABLE,SA_NTF_VERSION_MISMATCH,SA_NTF_AUTHENTICATION_FAILURE,SA_NTF_BREACH_OF_CONFIDENTIALITY,SA_NTF_CABLE_TAMPER,SA_NTF_DELAYED_INFORMATION,SA_NTF_DENIAL_OF_SERVICE,SA_NTF_DUPLICATE_INFORMATION,SA_NTF_INFORMATION_MISSING,SA_NTF_INFORMATION_MODIFICATION_DETECTED,SA_NTF_INFORMATION_OUT_OF_SEQUENCE,SA_NTF_INTRUSION_DETECTION,SA_NTF_KEY_EXPIRED,SA_NTF_NON_REPUDIATION_FAILURE,SA_NTF_OUT_OF_HOURS_ACTIVITY,SA_NTF_OUT_OF_SERVICE,SA_NTF_PROCEDURAL_ERROR,SA_NTF_UNAUTHORIZED_ACCESS_ATTEMPT,SA_NTF_UNEXPECTED_INFORMATION,SA_NTF_UNSPECIFIED_REASON} SaNtfProbableCauseT;
Copyright© 2006 Service Availability™ Forum, Inc 23
Specific Problem and Severity Types Specific Problem
Severity
Severity Trend
typedef struct {SaNtfElementIdT problemId;SaNtfClassIdT problemClassId;SaNtfValueTypeT problemType;SaNtfValueT problemValue;
} SaNtfSpecificProblemT;
This structure represents a single element in the specific problem parameter of a notification. It is highly application dependentproblemId is user definedproblemClassId is optionalproblemType and problemValue are specific to the notification
typedef enum {SA_NTF_SEVERITY_CLEARED,SA_NTF_SEVERITY_INDETERMINATE,SA_NTF_SEVERITY_WARNING,SA_NTF_SEVERITY_MINOR,SA_NTF_SEVERITY_MAJOR,SA_NTF_SEVERITY_CRITICAL
} SaNtfSeverityT;
This type enumerates the severities used by alarm notifications and by security alarm notifications
typedef enum {SA_NTF_TREND_MORE_SEVERE,SA_NTF_TREND_NO_CHANGE,SA_NTF_TREND_LESS_SEVERE
} SaNtfSeverityTrendT;
This type enumerates the trend indication of severity
Copyright© 2006 Service Availability™ Forum, Inc 24
Proposed Repair Action and State Change Types
Proposed Repair Action
Source Indicator
State Change
typedef struct {SaNtfElementIdT actionId;SaNtfValueTypeT actionValueType;SaNtfValueT actionValue;
} SaNtfProposedRepairActionT;
Structure that represents a single proposed repair action in an alarm notificationCurrently, SA Forum does not specify any mechanism to define an association between a repair action and a problem
typedef enum {SA_NTF_OBJECT_OPERATION,SA_NTF_MANAGEMENT_OPERATION,SA_NTF_UNKNOWN_OPERATION
} SaNtfSourceIndicatorT;
The source indicator for state change, object create/delete, and attribute value change notifications
typedef struct {SaNtfElementIdT stateId;SaBoolT oldStatePresent;SaUint16T oldState;SaUint16T newState;
} SaNtfStateChangeT;
Structure that represents state changes as part of a notification. The oldState and newState fields contain the old and new state value and the stateId field identifies the kind of state that has changed. The oldState field is optional, and is relevant only when oldStatePresent is SA_TRUE
Copyright© 2006 Service Availability™ Forum, Inc 25
Attribute and Attribute Change Types
Attribute
Attribute Change
typedef struct {SaNtfElementIdT attributeId;SaNtfValueTypeT attributeType;SaNtfValueT attributeValue;
} SaNtfAttributeT;
Structure that represents object attributes in an object creation or deletion notificationattributeId is user defined
typedef struct {SaNtfElementIdT attributeId;SaNtfValueTypeT attributeType;SaBoolT oldAttributePresent;SaNtfValueT oldAttributeValue;SaNtfValueT newAttributeValue;
} SaNtfAttributeChangeT;
Structure that represents attribute changes in a notificationattributeId is user definedThe oldAttributeValue field is optional, and is relevant only when oldAttributePresent is SA_TRUE
Copyright© 2006 Service Availability™ Forum, Inc 26
Security Alarm TypesService User
Security Alarm Detector
typedef struct {SaNtfValueTypeT valueType;SaNtfValueT value;
} SaNtfServiceUserT;
Structure that represents the service user and service provider in a security alarm notification
typedef struct {SaNtfValueTypeT valueType;SaNtfValueT value;
} SaNtfSecurityAlarmDetectorT;
Structure that represents the security alarm detector in a security alarm notification
Copyright© 2006 Service Availability™ Forum, Inc 27
Notification Header Type The notification header type contains pointers to the
common fields in the internal notification structuretypedef struct {
SaNtfEventTypeT *eventType;SaNameT *notificationObject;SaNameT *notifyingObject;SaNtfClassIdT *notificationClassId;SaTimeT *eventTime;SaUint16T numCorrelatedNotifications;SaUint16T lengthAdditionalText;SaUint16T numAdditionalInfo;SaNtfIdentifierT *notificationId;SaNtfIdentifierT *correlatedNotifications;SaStringT additionalText;SaNtfAdditionalInfoT *additionalInfo;
} SaNtfNotificationHeaderT;
eventType –The event typenotificationObject – The notification object in the internal notification structurenotifyingObject – The notifying object notificationClassId –The notification class identifiereventTime – The event timenumCorrelatedNotifications – The number of correlated notifications in the notificationlengthAdditionalText – The length in bytes of additional text (including terminating ‘\0’)numAdditionalInfo – The number of additional info fieldsnotificationId – The notification identifier correlatedNotifications – The correlated notification identifiers arrayadditionalText – The additional text in the internal notification structureadditionalInfo – The additional info array in the internal notification structure
Copyright© 2006 Service Availability™ Forum, Inc 28
Notification Types Object Create/Delete Notification
typedef struct {
SaNtfNotificationHandleT notificationHandle;
SaNtfNotificationHeaderT notificationHeader;
SaUint16T numAttributes;
SaNtfSourceIndicatorT *sourceIndicator;
SaNtfAttributeT *objectAttributes;
} SaNtfObjectCreateDeleteNotificationT;
notificationHandle – The handle to the internal notification structurenotificationHeader – The notification headernumAttributes – The number of object attributes in the notificationsourceIndicator – The source indicator field in the internal notification structureobjectAttributes –The attributes array in the internal notification structure
Copyright© 2006 Service Availability™ Forum, Inc 29
Notification Types Attribute Change Notification
State Change Notification
typedef struct {SaNtfNotificationHandleT notificationHandle;SaNtfNotificationHeaderT notificationHeader;SaUint16T numAttributes;SaNtfSourceIndicatorT *sourceIndicator;SaNtfAttributeChangeT *changedAttributes;
} SaNtfAttributeChangeNotificationT;
notificationHandle – The handle to the internal notification structurenotificationHeader – The notification headernumAttributes – The number of changed attributes in the notificationsourceIndicator – The source indicator field changedAttributes – The changed attributes array
typedef struct {SaNtfNotificationHandleT notificationHandle;SaNtfNotificationHeaderT notificationHeader;SaUint16T numStateChanges;SaNtfSourceIndicatorT *sourceIndicator;SaNtfStateChangeT *changedStates;
} SaNtfStateChangeNotificationT;
notificationHandle – The handle to the internal notification structurenotificationHeader – The notification headernumStateChanges – The number of state changes in the notificationsourceIndicator – The source indicator field changedStates – The changed states array
Copyright© 2006 Service Availability™ Forum, Inc 30
Notification Types Alarm Notification
typedef struct {
SaNtfNotificationHandleT notificationHandle;
SaNtfNotificationHeaderT notificationHeader;
SaUint16T numSpecificProblems;
SaUint16T numMonitoredAttributes;
SaUint16T numProposedRepairActions;
SaNtfProbableCauseT *probableCause;
SaNtfSpecificProblemT *specificProblems;
SaNtfSeverityT *perceivedSeverity;
SaNtfSeverityTrendT *trend;
SaNtfThresholdInformationT
*thresholdInformation;
SaNtfAttributeT *monitoredAttributes;
SaNtfProposedRepairActionT
*proposedRepairActions;
} SaNtfAlarmNotificationT;
notificationHandle – The handle to the internal notification structurenotificationHeader – The notification headernumSpecificProblems – The number of specific problemsnumMonitoredAttributes – The number of monitored attributesnumProposedRepairActions – The number of proposed repair actionsprobableCause – The probable causespecificProblems – The array of specific problemsperceivedSeverity – The perceived severitytrend – The trend of severitythresholdInformation – The threshold information fieldmonitoredAttributes – The monitored attributes arrayproposedRepairActions – The proposed repair actions array
Copyright© 2006 Service Availability™ Forum, Inc 31
Notification Types Security Alarm Notification
typedef struct {
SaNtfNotificationHandleT notificationHandle;
SaNtfNotificationHeaderT notificationHeader;
SaNtfProbableCauseT *probableCause;
SaNtfSeverityT *severity;
SaNtfSecurityAlarmDetectorT *securityAlarmDetector;
SaNtfServiceUserT*serviceUser;
SaNtfServiceUserT *serviceProvider;
} SaNtfSecurityAlarmNotificationT;
notificationHandle – The handle to the internal notification structurenotificationHeader – The notification headerprobableCause – The probable causeseverity – The severity securityAlarmDetector – The alarm detectorserviceUser – The service userserviceProvider – The service user
Copyright© 2006 Service Availability™ Forum, Inc 32
Notification Types Notification
Field TypeObject
Create/DeleteAttribute Change
State Change
Alarm Security Alarm
notificationHandle notificationHeader numAttributes sourceIndicator objectAttributes changedAttributes numStateChanges changedStates numSpecificProblems numMonitoredAttributes numProposedRepairActions probableCause specificProblems perceivedSeverity trend thresholdInformation monitoredAttributes proposedRepairActions severity securityAlarmDetector serviceUser serviceProvider
Copyright© 2006 Service Availability™ Forum, Inc 33
Notification Filter Header Type The notification filter header type contains filter elements
common to all notification types
typedef struct {
SaUint16T numEventTypes;
SaNtfEventTypeT *eventTypes;
SaUint16T numNotificationObjects;
SaNameT *notificationObjects;
SaUint16T numNotifyingObjects;
SaNameT *notifyingObjects;
SaUint16T numNotificationClassIds;
SaNtfClassIdT *notificationClassIds;
} SaNtfNotificationFilterHeaderT;
numEventTypes – The number of event typeseventTypes – The array of event typesnumNotificationObjects – The number of notification objects notificationObjects – The array of notification objectsnumNotifyingObjects – The number of notifying objectsnotifyingObjects - The array of notifying objectsnumNotificationClassIds – The number of notification class identifiersnotificationClassIds – The array of notification class identifiers
Copyright© 2006 Service Availability™ Forum, Inc 34
Notification Filter Types Object Create/Delete Notification Filter
typedef struct {SaNtfNotificationFilterHandleT
notificationFilterHandle;SaNtfNotificationFilterHeaderT
notificationFilterHeader;SaUint16T numSourceIndicators;SaNtfSourceIndicatorT *sourceIndicators;
} SaNtfObjectCreateDeleteNotificationFilterT;
notificationFilterHandle – The handle to the internal notification filter structure
notificationFilterHeader – The notification filter header
numSourceIndicators – The number of source indicators
sourceIndicators – The array of source indicators
Copyright© 2006 Service Availability™ Forum, Inc 35
Notification Filter Types Attribute Change Notification Filter
State Change Notification Filter
typedef struct {SaNtfNotificationFilterHandleT notificationFilterHandle;SaNtfNotificationFilterHeaderT notificationFilterHeader;SaUint16T numSourceIndicators;SaNtfSourceIndicatorT *sourceIndicators;
} SaNtfAttributeChangeNotificationFilterT;
notificationFilterHandle – The handle to the internal notification filter structure notificationFilterHeader – The notification filter header numSourceIndicators – The number of source indicatorssourceIndicators – The array of source indicators
typedef struct {SaNtfNotificationFilterHandleT notificationFilterHandle;SaNtfNotificationFilterHeaderT notificationFilterHeader;SaUint16T numSourceIndicators;SaNtfSourceIndicatorT *sourceIndicators;SaUint16T numStateChanges;SaNtfStateChangeT *changedStates;
} SaNtfStateChangeNotificationFilterT;
See above for the notificationFilterHandle, notificationFilterHeader, numSourceIndicators, and sourceIndicatorsnumStateChanges – The number of state changeschangedStates – The array of changed states
Copyright© 2006 Service Availability™ Forum, Inc 36
Notification Filter Types Alarm Notification Filter
typedef struct {
SaNtfNotificationFilterHandleT notificationFilterHandle;
SaNtfNotificationFilterHeaderT notificationFilterHeader;
SaUint16T numProbableCauses;
SaUint16T numPerceivedSeverities;
SaUint16T numTrends;
SaNtfProbableCauseT *probableCauses;
SaNtfSeverityT *perceivedSeverities;
SaNtfSeverityTrendT *trends;
} SaNtfAlarmNotificationFilterT;
notificationFilterHandle – The handle to the internal notification filter structurenotificationFilterHeader – The notification filter header numProbableCauses – The number of probable causes numPerceivedSeverities – The number of perceived severitiesnumTrends – The number of severity trends probableCauses – The array of probable causesperceivedSeverities – The array of perceived severitiestrends – The array of severity trends
Copyright© 2006 Service Availability™ Forum, Inc 37
Notification Filter Types Security Alarm Notification Filter
typedef struct {SaNtfNotificationFilterHandleT notificationFilterHandle;SaNtfNotificationFilterHeaderT notificationFilterHeader;SaUint16T numProbableCauses;SaUint16T numSeverities;SaUint16T numSecurityAlarmDetectors;SaUint16T numServiceUsers;SaUint16T numServiceProviders;SaNtfProbableCauseT *probableCauses;SaNtfSeverityT *severities;SaNtfSecurityAlarmDetectorT *securityAlarmDetectors;SaNtfServiceUserT *serviceUsers;SaNtfServiceUserT *serviceProviders;
} SaNtfSecurityAlarmNotificationFilterT;
numProbableCauses – The number of probable causes numSeverities – The number of severities numSecurityAlarmDetectors – The number of security alarm detectorsnumServiceUsers – The number of service users numServiceProviders – The number of service providers probableCauses – The array of probable causes severities – The array of severitiessecurityAlarmDetectors – The array of security alarm detectors serviceUsers – The array of service users serviceProviders – The array of service providers
Copyright© 2006 Service Availability™ Forum, Inc 38
Notification Filter Types Notification
Field TypeObject
Create/DeleteAttribute Change
State Change
Alarm Security Alarm
notificationFilterHandle notificationFilterHeader numSourceIndicators sourceIndicators numStateChanges changedStates numProbableCauses numPerceivedSeverity numTrends probableCauses perceivedSeverities trends numSeverites numSecurityAlarmDetectors numServiceUsers numServiceProvider severities securityAlarmDetectors serviceUsers serviceProviders
Copyright© 2006 Service Availability™ Forum, Inc 39
Search Types Search Mode
Search Criteria
Search Direction
typedef enum {SA_NTF_SEARCH_BEFORE_OR_AT_TIME,SA_NTF_SEARCH_AT_TIME,SA_NTF_SEARCH_AT_OR_AFTER_TIME,SA_NTF_SEARCH_BEFORE_TIME,SA_NTF_SEARCH_AFTER_TIME,SA_NTF_SEARCH_NOTIFICATION_ID,SA_NTF_SEARCH_ONLY_FILTER
} SaNtfSearchModeT;
This enumeration type defines the search modes for the Notification Reader API
typedef struct {SaNtfSearchModeT searchMode;SaTimeT eventTime;SaNtfIdentifierT notificationId;
} SaNtfSearchCriteriaT;
This structure contains the search criteria for the Notification Reader APIsearchMode – The search mode eventTime – Relevant only if searchMode is one of SA_NTF_SEARCH_*_TIMEnotificationId – Relevant only if searchMode is SA_NTF_SEARCH_NOTIFICATION_ID
typedef enum {SA_NTF_SEARCH_OLDER,SA_NTF_SEARCH_YOUNGER
} SaNtfSearchDirectionT;
This enumeration type defines the search directions for the Notification Reader API
Copyright© 2006 Service Availability™ Forum, Inc 40
Notifications and Filter Handles Types Notification Type Filter Handles structure
Notifications structure
typedef struct {
SaNtfNotificationFilterHandleT objectCreateDeleteFilterHandle;
SaNtfNotificationFilterHandleT attributeChangeFilterHandle;
SaNtfNotificationFilterHandleT stateChangeFilterHandle;
SaNtfNotificationFilterHandleT alarmFilterHandle;
SaNtfNotificationFilterHandleT securityAlarmFilterHandle;
} SaNtfNotificationTypeFilterHandlesT;
Aggregates the notification filter handles for all notifications typesHandles that are not used are set to SA_NTF_FILTER_HANDLE_NULL
typedef struct {
SaNtfNotificationTypeT notificationType;
union {
SaNtfObjectCreateDeleteNotificationT objectCreateDeleteNotification;
SaNtfAttributeChangeNotificationT attributeChangeNotification;
SaNtfStateChangeNotificationT stateChangeNotification;
SaNtfAlarmNotificationT alarmNotification;
SaNtfSecurityAlarmNotificationT securityAlarmNotification;
} notification;
} SaNtfNotificationsT;
Contains the common notification type and a union of all specific notification typesnotificationType –The type of notification
Copyright© 2006 Service Availability™ Forum, Inc 41
Summary This lesson has presented the following topics related
to the Notification Service• Notification Service Model
– Users of the Notification Service– Notifications and Notification Filters– Notification Types– Common Parameters– Notification Parameters– Notification Delivery Characteristics– Integration of HPI Events– Semantic Identifiers of Notification Elements
• Notification Service Types
The next lesson on the Notification Service will cover • Notification Service Functions
• Configuration Data for the Notification Service