...
Managed Entity and Task Resource Models
For every single resource managed by the API provide a JSON based representation of the managed entities and tasks.
The PM API is partially an entity-centric interface as it provides services on the 3 main resources of the ABEs:
• MeasurementProductionJob
• MeasurementCollectionJob
• AdhocCollection
The picture below presents an overall view of the Information Model of the Performance Management Monitoring Interface:
...
...
measurementCollectionJob
A Measurement Collection Job is used to control the periodic collection of performance indicators, implemented as a sub-entity of the PM Measurement Job.
A PM measurement job is the administrative entity defined by a client application to perform a periodic activity related to PM data. The PM activities may be production of measurements, collection of measurements or PM objective monitoring (scheduled evaluation of thresholds).
In each of these cases, the PM measurement job will include the following:
• A set of requested performance indicators
• A network/service scope defining a subset of the network or a subset of the service catalog
• Scheduling parameters
• Specific activity parameters, related to collection, production or objective monitoring
Below is the JSON Resource Model for "measurementCollectionJob".
{ |
...
...
measurementProductionJob
Performance measurements production functionality is about controlling the generation of indicators, the equivalent of PM Control in MTOSI. Production instructions are usually set in the set-up of a PM project. Changes are usually required for new versions of network elements or other kinds of network changes.
The PM Production Interface Service supports to flavors of operations:
• Production only
• Production and Collection - A mode that supports the creation and the deletion of both PM Production and PM Collection, similarly to some of the existing standards (3GPP, OSS/J)
Below is the JSON Resource model for measurementProductionJob.
{ |
...
adhocCollection
Ad-hoc collection is an on-demand collection method of Performance measurements results from a consuming application, requesting spontaneously a set of data for a set of network or service testing resources for a given temporal context. As the ad-hoc query is a single isolated request, its lifecycle is much simpler and isolated, having a request-response nature.
A PM query for collecting performance indicators of a certain time range. AdhocCollections have no schedule.
Below is the JSON Resource Model for "adhocCollection".
{ |
...
...
trackingRecord
The measurement job has associated tracking record objects to log and audit the lifecycle of the measurement job.
Allows the tracking of modifications on the measurement job.
The tracking records should not be returned by default with the measurement job to allow retrieving the job without the tracking records. Whether the tracking records are stored with the measurement job or outside of it is implementation specific.
Below is the JSON Resource Model for "trackingRecord".
{ |
...
getSupportedObjectClassesTask
This operation provides the list of object classes supported by the network interface
{ |
...
getSupportedObjectsTask
This operation provides the list of object instances supported by the interface.If an object class is provided in input, only the object instances related to the input class will be returned.
{ |
...
getSupportedIndicatorGroupsTask
This operation provides the list of indicator groups supported by the interface for the class provided in input
{ "supportedIndicatorGroups": [ "Groups_1", "Groups_2" ]} |
...
getSupportedIndicatorsTask
This operation
...
This operation provides the list of indicator instances supported by the interface fpr the provided class and/or indicator group.If the indicator group is provided in input, only the indicator instances related to the input class and this group will be returned.
{ "supportedIndicators": [ "SES", "BBE" ]} |
...
...
getSupportedTransportTask
This operation provides the transport supported by the network interface.
{ |
...
...
getSupportedFileFormatTask
This operation provides the file format supported by the network interface.
{ |
...
getCommonIndicatorGroupsGranularitiesTask
This operation provides the list of granularities which are common to a set of indicator groups.
{ |
...
getCommonIndicatorsGranularitiesTask
This operation provides the list of granularities which are common to a set of indicators.
{ |
...
...
listAvailableFilesTask
This operation returns all files generated by the server and available for download. This operation is particularly useful in case of loss of communications as it allows the client to know the files available for which notifications might have been missed.
{ |
...
Definitions and alternatives
schedule definition
A schedule object is attached to the measurement job to define the job scheduling. This is an abstract and can be of the following types:
...
{ |
...
STATE MACHINE FOR ADMIN STATE & EXECUTION STATE
There are two state variables for each of the three jobs.
...
Possible states are LOCKED and UNLOCKED. The default value when any job is created it shall be UNLOCKED. The operation Resume (PATCH) shall put the admin state to UNLOCKED. And the operation Suspend (PATCH) shall put the admin state to LOCKED.
...
...
Production Job State Machine with Schedule
The following diagram depicts the state machine and notifications for a Performance Measurement Production Job with an attached schedule.
...
...
Production Job State Machine without Schedule
The following diagram depicts the state machine and notifications for a Performance Measurement Production Job without an attached schedule.
...
Collection Job State Machine with Schedule
The following diagram depicts the state machine and notifications for a Performance Measurement Collection Job with an attached schedule.
...
Collection Job State Machine without Schedule
The following diagram depicts the state machine and notifications for a Performance Measurement Collection Job without any attached schedule.
...
Notification Resource Models
For every single event supported by the API provide a JSON based representation of the managed event.
You can start with an XML representation but remember that the default representation will be JSON.
Remember that the Pub/Sub models are common and described in the TMF REST Design Guidelines.
For example the SMAPI 2.0 use the following Management Report Event representation:
...
filesReady
MeasurementCollectionJobService and AdhocCollectionService shall emit the notification "filesReady", when the file has been generated.
{ |
...
...
filesPreparationError
MeasurementCollectionJobService and AdhocCollectionService shall emit the notification "filesPreparationError", when the file cannot be generated due to any reason.
{ |
...
adhocCollectionAVCN
Notification of the changes to adhocCollection for the following attributes:
- lastModifiedTime
- AdminState
- jobPriority
- executionstate
- scheduleDef
- Id
- sourceTime
ObjectType
REQUEST
{
"lastModifiedTime": "",
"AdminState": "UNLOCKED",
"jobPriority": "5",
"executionState" : "Executing",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"id": "collJob001",
"sourceTime" : "11-26-2014 16:00:00 +0530",
"ObjectType" : "AdhocCollection"}Anchor _Toc405205419 _Toc405205419 measurementCollectionJobAVCN
Notification of the changes to measurementCollectionJob for the following attributes:- reportingPeriod
- granularity
- monitoredObjectsCriteria
- AdminState
- jobPriority
- executionstate
- scheduleDef
- Id
- sourceTime
ObjectType
{ "reportingPeriod": "R_15M",
"granularity": "G_15M",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": {
"monitoredObjectClass": "SDH-Route"
}
},
"AdminState": "UNLOCKED",
"jobPriority": "5",
"executionState" : "Executing",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"id": "collJob001",
"sourceTime" : "11-26-2014 16:00:00 +0530",
"ObjectType" : "AdhocCollection"} _Toc405205420Anchor _Toc405205420 measurementProductionJobAVCN
Notification of the changes to measurementProductionJob for the following attributes:- granularity
- monitoredObjectsCriteria
- AdminState
- jobPriority
- executionstate
- scheduleDef
- Id
- sourceTime
ObjectType
{ "granularity": "G_15M",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": {
"monitoredObjectClass": "SDH-Route"
}
},
"AdminState": "UNLOCKED",
"jobPriority": "5",
"executionState" : "Executing",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"id": "collJob001",
"sourceTime" : "11-26-2014 16:00:00 +0530",
"ObjectType" : "AdhocCollection"}Anchor _Toc405205421 _Toc405205421 measurementCollectionJobOCN
Notification of the creation of measurementCollectionJob.
{
"id": "collJob001",
"creationTime": "11-26-2014 16:00:00 +0530",
"lastModifiedTime": "11-26-2014 16:00:00 +0530",
"adminState": "2",
"jobPriority": "5",
"executionState": "ExecutionState",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"reportingPeriod": "R_15M",
"granularity": "G_15M",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"reportingPeriod": "R_15M",
"outputFormat": "3GPP",
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
},
"sourceTime" : "11-26-2014 16:00:00 +0530",
"ObjectType" : "AdhocCollection"
}Anchor _Toc405205422 _Toc405205422measurementProductionJobOCN
Notification of the creation of measurementProductionJob.
{ "id": "prodJob001",
"creationTime": "11-26-2013 16:00:00 +0530",
"lastModifiedTime": "11-26-2013 16:00:00 +0530",
"adminState": "2",
"jobPriority": "5",
"executionState": "ExecutionState",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15M",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
},
"sourceTime" : "11-26-2014 16:00:00 +0530",
"ObjectType" : "AdhocCollection"
}Anchor _Toc405205423 _Toc405205423measurementCollectionJobODelN
Notification of the deletion of measurementCollectionJob.
{
"id": "collJob001",
"creationTime": "11-26-2014 16:00:00 +0530",
"lastModifiedTime": "11-26-2014 16:00:00 +0530",
"adminState": "2",
"jobPriority": "5",
"executionState": "ExecutionState",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"reportingPeriod": "R_15M",
"granularity": "G_15M",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"reportingPeriod": "R_15M",
"outputFormat": "3GPP",
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
},
"sourceTime" : "11-26-2014 16:00:00 +0530",
"ObjectType" : "AdhocCollection"
}Anchor _Toc405205424 _Toc405205424measurementProductionJobODelN
Notification of the deletion of measurementProductionJob.
{ "id": "prodJob001",
"creationTime": "11-26-2013 16:00:00 +0530",
"lastModifiedTime": "11-26-2013 16:00:00 +0530",
"adminState": "2",
"jobPriority": "5",
"executionState": "ExecutionState",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15M",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
},
"sourceTime" : "11-26-2014 16:00:00 +0530",
"ObjectType" : "AdhocCollection"
}
© TM Forum 2015. All Rights Reserved.