Presentation is loading. Please wait.

Presentation is loading. Please wait.

SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2.

Similar presentations


Presentation on theme: "SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2."— Presentation transcript:

1 SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2

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

3 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

4 Copyright© 2006 Service Availability™ Forum, Inc 4 Notification Service  The Notification Library and the Notification Server and the interactions with other entities in the system SNMP Manager CIM/WEBM Client Notification Log File Log Service Transport Service (e.g., Message Service or Event Service) Notification Service Forwarding Logging Notification Server SNMP MIBCIM MOF SNMP Traps CIM Indications Application Producer Notification Library Application Subscriber Notification Library SNMP Agent Subscriber/Reader Notification Library CIM Provider Subscriber/Reader Notification Library Alarm Mgr Reader Notification Library

5 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

6 Copyright© 2006 Service Availability™ Forum, Inc 6 Common Parameters NameX.73x RecommendationDefault Value Event TypeMandatory Parameter Notification ObjectMandatory Parameter Notifying Object Notification Object Notification Class Identifier Event TimeMandatory Parameter Notification IdentifierOptional Parameter Correlated NotificationsOptional ParameterNULL, indicates either a first time occurrence, or that no correlation need be applied Additional TextOptional Parameter Additional InformationOptional Parameter

7 Copyright© 2006 Service Availability™ Forum, Inc 7 Specific Parameters  Specific parameters for object creation and deletion notifications NameX.73x RecommendationDefault Value Source IndicatorOptional Parameter Attribute ListOptional Parameter Attribute IdentifierOptional Parameter Attribute ValueOptional Parameter

8 Copyright© 2006 Service Availability™ Forum, Inc 8 Specific Parameters  Specific parameters for attribute change notifications NameX.73x RecommendationDefault Value Source IndicatorOptional Parameter Changed State Attribute List Mandatory Parameter Attribute IdentifierMandatory Parameter Old Attribute ValueOptional Parameter New Attribute ValueMandatory Parameter

9 Copyright© 2006 Service Availability™ Forum, Inc 9 Specific Parameters  Specific parameters for state change notifications NameX.73x RecommendationDefault Value Source IndicatorOptional ParameterAMF Changed State Attribute ListMandatory Parameter Attribute IdentifierMandatory Parameter Old Attribute ValueOptional Parameter New Attribute ValueMandatory Parameter

10 Copyright© 2006 Service Availability™ Forum, Inc 10 Specific Parameters  Specific parameters for alarm notifications NameX.73x RecommendationDefault Value Probable CauseMandatory Parameter Specific ProblemsOptional Parameter Perceived SeverityMandatory ParameterMajor Trend IndicationOptional ParameterNo Change Threshold InformationOptional Parameter Monitored AttributesOptional Parameter Proposed Repair ActionsOptional Parameter

11 Copyright© 2006 Service Availability™ Forum, Inc 11 Specific Parameters  Specific parameters for security alarm notifications NameX.73x RecommendationDefault Value CauseMandatory Parameter SeverityMandatory Parameter DetectorMandatory Parameter UserMandatory Parameter ProviderMandatory Parameter

12 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

13 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)

14 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

15 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;

16 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;

17 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 }

18 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

19 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-numbershttp://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)

20 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;

21 Copyright© 2006 Service Availability™ Forum, Inc 21 Notification Value Type  SaNtfValueT 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;

22 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;

23 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 dependent  problemId is user defined  problemClassId is optional  problemType 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

24 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 notification  Currently, 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

25 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 notification  attributeId is user defined typedef struct { SaNtfElementIdT attributeId; SaNtfValueTypeT attributeType; SaBoolT oldAttributePresent; SaNtfValueT oldAttributeValue; SaNtfValueT newAttributeValue; } SaNtfAttributeChangeT;  Structure that represents attribute changes in a notification  attributeId is user defined  The oldAttributeValue field is optional, and is relevant only when oldAttributePresent is SA_TRUE

26 Copyright© 2006 Service Availability™ Forum, Inc 26 Security Alarm Types  Service 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

27 Copyright© 2006 Service Availability™ Forum, Inc 27 Notification Header Type  The notification header type contains pointers to the common fields in the internal notification structure typedef 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 type  notificationObject – The notification object in the internal notification structure  notifyingObject – The notifying object  notificationClassId – The notification class identifier  eventTime – The event time  numCorrelatedNotifications – The number of correlated notifications in the notification  lengthAdditionalText – The length in bytes of additional text (including terminating ‘\0’)  numAdditionalInfo – The number of additional info fields  notificationId – The notification identifier  correlatedNotifications – The correlated notification identifiers array  additionalText – The additional text in the internal notification structure  additionalInfo – The additional info array in the internal notification structure

28 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 structure  notificationHeader – The notification header  numAttributes – The number of object attributes in the notification  sourceIndicator – The source indicator field in the internal notification structure  objectAttributes –The attributes array in the internal notification structure

29 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 structure  notificationHeader – The notification header  numAttributes – The number of changed attributes in the notification  sourceIndicator – 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 structure  notificationHeader – The notification header  numStateChanges – The number of state changes in the notification  sourceIndicator – The source indicator field  changedStates – The changed states array

30 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 structure  notificationHeader – The notification header  numSpecificProblems – The number of specific problems  numMonitoredAttributes – The number of monitored attributes  numProposedRepairActions – The number of proposed repair actions  probableCause – T he probable cause  specificProblems – T he array of specific problems  perceivedSeverity – The perceived severity  trend – The trend of severity  thresholdInformation – The threshold information field  monitoredAttributes – The monitored attributes array  proposedRepairActions – The proposed repair actions array

31 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 structure  notificationHeader – T he notification header  probableCause – T he probable cause  severity – T he severity  securityAlarmDetector – T he alarm detector  serviceUser – T he service user  serviceProvider – T he service user

32 Copyright© 2006 Service Availability™ Forum, Inc 32 Notification Types Notification Field Type Object Create/Delete Attribute Change State Change AlarmSecurity Alarm notificationHandle  notificationHeader  numAttributes  sourceIndicator  objectAttributes  changedAttributes  numStateChanges  changedStates  numSpecificProblems  numMonitoredAttributes  numProposedRepairActions  probableCause  specificProblems  perceivedSeverity  trend  thresholdInformation  monitoredAttributes  proposedRepairActions  severity  securityAlarmDetector  serviceUser  serviceProvider 

33 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 – T he number of event types  eventTypes – T he array of event types  numNotificationObjects – T he number of notification objects  notificationObjects – T he array of notification objects  numNotifyingObjects – T he number of notifying objects  notifyingObjects - T he array of notifying objects  numNotificationClassIds – T he number of notification class identifiers  notificationClassIds – T he array of notification class identifiers

34 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 – T he notification filter header  numSourceIndicators – T he number of source indicators  sourceIndicators – T he array of source indicators

35 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 – T he notification filter header  numSourceIndicators – T he number of source indicators  sourceIndicators – T he 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 sourceIndicators  numStateChanges – Th e number of state changes  changedStates – T he array of changed states

36 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 structure  notificationFilterHeader – T he notification filter header  numProbableCauses – T he number of probable causes  numPerceivedSeverities – T he number of perceived severities  numTrends – T he number of severity trends  probableCauses – T he array of probable causes  perceivedSeverities – T he array of perceived severities  trends – T he array of severity trends

37 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 – T he number of probable causes  numSeverities – T he number of severities  numSecurityAlarmDetectors – T he number of security alarm detectors  numServiceUsers – T he number of service users  numServiceProviders – T he number of service providers  probableCauses – T he array of probable causes  severities – T he array of severities  securityAlarmDetectors – T he array of security alarm detectors  serviceUsers – T he array of service users  serviceProviders – T he array of service providers

38 Copyright© 2006 Service Availability™ Forum, Inc 38 Notification Filter Types Notification Field Type Object Create/Delete Attribute Change State Change AlarmSecurity Alarm notificationFilterHandle  notificationFilterHeader  numSourceIndicators  sourceIndicators  numStateChanges  changedStates  numProbableCauses  numPerceivedSeverity  numTrends  probableCauses  perceivedSeverities  trends  numSeverites  numSecurityAlarmDetectors  numServiceUsers  numServiceProvider  severities  securityAlarmDetectors  serviceUsers  serviceProviders 

39 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 API  searchMode – T he search mode  eventTime – R elevant only if searchMode is one of SA_NTF_SEARCH_*_TIME  notificationId – R elevant only if searchMode is SA_NTF_SEARCH_NOTIFICATION_ID typedef enum { SA_NTF_SEARCH_OLDER, SA_NTF_SEARCH_YOUNGER } SaNtfSearchDirectionT;  T his enumeration type defines the search directions for the Notification Reader API

40 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 types  Handles 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 types  notificationType – The type of notification

41 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


Download ppt "SAI-AIS-NTF-A.01.01 SA Forum Extended Training Materials Notification Service Lesson 1 of 2."

Similar presentations


Ads by Google