Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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".

{
"id": "collJob001",
"creationTime": "11-26-2014 16:00:00 +0530",
"lastModifiedTime": "11-26-2014 16:00:00 +0530",
"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"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"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_15MN",
"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" }
]
}

...

...

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.

{
"id": "prodJob001",
"creationTime": "11-26-2013 16:00:00 +0530",
"lastModifiedTime": "11-26-2013 16:00:00 +0530",
"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"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"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" }
]
}

 

...

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".

{
"id": "adhocJob001",
"creationTime": "11-26-2014 16:00:00 +0530",
"lastModifiedTime": "11-26-2014 16:00:00 +0530",
"adminState": "UNLOCKED",
"jobPriority": "5",
"executionState": "EXECUTING",
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"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"
}
},
"collectionPeriod": {
"units": "MINUTES",
"amount": "120"
},
"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" }
]
}

...

...

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".

{
"id": "1",
"jobId": "collJob001",
"jobType": "measurementCollectionJob",
"description": "measurementCollectionJobCreated successfully",
"time": "11-26-2014 16:00:00 +0530",
"userId": "root",
"systemId": "tmfPm"
}

 

...

getSupportedObjectClassesTask

This operation provides the list of object classes supported by the network interface

{
"supportedObjectClasses": [
"Blade",
"VC4",
"E1-Link"
]
}

 

...

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.

{
"supportedObjects": {
"Object": [
"/md1/Node1",
"/md1/Node1/If1"
]
}
}

 

...

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.

{
"supportedTransport": [
"SFTP",
"TFTP"
]
}

...

...

getSupportedFileFormatTask

This operation provides the file format supported by the network interface.

{
"supportedFileFormat": [
"3GPP",
"MTOSI"
]
}

 

...

getCommonIndicatorGroupsGranularitiesTask

This operation provides the list of granularities which are common to a set of indicator groups.

{
"commonGranularities": [
"G_15MN",
"G_30MN"
]
}

 

...

getCommonIndicatorsGranularitiesTask

This operation provides the list of granularities which are common to a set of indicators.

{
"commonGranularities ": [
"G_15MN",
"G_30MN"
]
}

 

...

...

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.

{
"JobId": "1234",
"beginTime": "19_08_2013_23:00:00",
"endTime": "19_08_2013_23:30:00",
"FileInfo": [
"JOB1234_YYY_19_08_2013_23:15:00",
"JOB1234_YYY_19_08_2013_23:30:00"
]
}

 

...

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:

...

{
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": {
"monitoredObjectClass": "SDH-Route",
"objectInstanceFilter": "route001,route010"
}
}

 

...

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.

{
"event": {
"id": "1",
"compressionType": "NO_COMPRESSION",
"packingType": "NO_PACKING",
"fileInfo": {
"fileName": "SDH-NE_SDH-Route_20131126163000+0530_900.csv",
"fileLocation": "/pm/pmdata/collJob001/",
"readyTime": "11-26-2014 16:30:00 +0530"
},
"fileTransferStatus": "COMPLETE"
},
"eventType": "FilesReady"
}

 

...

...

filesPreparationError

MeasurementCollectionJobService and AdhocCollectionService shall emit the notification "filesPreparationError", when the file cannot be generated due to any reason.

{
"event": {
"id": "1",
"compressionType": "NO_COMPRESSION",
"packingType": "NO_PACKING",
"fileInfo": {
"fileName": "SDH-NE_SDH-Route_20131126163000+0530_900.csv",
"fileLocation": "/pm/pmdata/collJob001/",
"readyTime": "11-26-2014 16:30:00 +0530"
},
"reason": " filePreparationErrorReason ",
"description": " prepation error for link down "
},
"eventType": "FilesPreparationError"
}

 

...

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

     

    Anchor_Toc405205420

    _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_Toc405205422

    measurementProductionJobOCN

    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_Toc405205423

    measurementCollectionJobODelN

    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_Toc405205424

    measurementProductionJobODelN

    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.