This specification involves two resources: Service Level Agreement "SLA" and "SLA Violation" Service Level Agreement "SLA" Resource- Description
This Service Level Agreement "SLA" Resource Model aims at illustrating the way to translating "SLA Resource Model" in JSON representation, reflecting the resource aspect described in the "SLA API Profile" (Management Requirements) document V0.2. Service Level Agreement (SLA) Resource Model and associate attributes are aligned with those described in SID Service Level Agreement modeling. Meaning no Resources are imported from other sources. Besides, the entities are represented in terms of roles, each with its rights & duties covering Multi-partner model illustrating B2BX model (SLA Provider, SLA Consumer, SLA Auditor, EndUser roles). In this model, "SLA Provider" is referring to a CSP while "SLA Consumer" is referring to a DSP. The "EndUser" is referring to the customer of the DSP, in some cases he could be a customer of both (CSP and DSP). "SLA Auditor" role is to monitor SLA as described in TR178V2. It could be played either by the CSP himself or delegated to a 3rd party. The "Agreed" or "Approved SLA" is described in terms of SLA rules which contains the Metrics, their related values or range, thresholds, valid period or date, consequences in case of violation of any clause of the SLA. It is also assumed all Metrics are the existing ones which are stored in the Service Provider "Metrics Library" with their attached references. Besides, each metric is attached to a given Product in the Catalogue with a dedicated reference e.g. "URL". The Service Level Agreement "SLA" resource model is also characterized by its "validity period". This use case covers the situation where the validity period is pre-determined (planned) which excludes the case of Time-variant SLA that could be attached to a "SLA on-Demand" use case. The latter could be considered in another release for specific use cases (Cloud, virtualization) for instance. In order to optimize the SLA resource, there is a need for defining a common pattern or Template "rule". This pattern is structured as following: the Id of the metric, its name, the measurement unit attached to the considered metric, its reference value, the tolerance value when the threshold is crossed and the consequence in case of violation. Regarding the financial-related aspect and penalties associated to a consequence, a pointer is simply mentioned to the Service Level Agreement "SLA" contract. Example of the JSON representation of an Service Level Agreement "SLA" resource { "id": "123444", "href": "http/www.acme.com/SlaManagement/sla/123444", "name": "HighSpeedDataSLA", "description": "SLA for high speed data.", "version": "0.1", "validFor": { "startDateTime": "2013-04-19T16:42:23.0Z", "endDateTime": "2013-04-21T09:43:54.0Z" },
"relatedParty": [ { "href": "http://", "role": "SLAProvider" },
{ "href": "http://", "role": "SLAConsumer" },
{ "href": "http://", "role": "SLAAuditor" },
{ "href": "http://", "role": "SLABusinessBroker" },
{ "href": "http://", "role": "SLATechnicalBroker" },
{ "href": "http://", "role": "ThirdPartySLAManager" },
{ "href": "http://", "role": "EndUser" } ],
"rule": [ { "id": "availability", "metric": "http://IEEE99.5/Availability", "unit": "string", "referenceValue": "available", "operator": ".eq", "tolerance": "0.05", "consequence": "http://ww.acme.com/contract/clause/42" },
{ "id": "downstream_GBR", "metric": "http://IEEE99.5/Data/bitrates/GBR/down", "unit": "kbps", "referenceValue": "1024", "operator": ".ge", "tolerance": "0.20", "consequence": "http://ww.acme.com/contract/clause/45" } ],
"template": { "href": "http/www.acme.com/slaManagement/slaTemplate/42", "name": "DataSLATemplate", "description": "basic template for Data SLA" } } |
Field descriptionField | Description | id | Unique identifier of the Service level Agreement (SLA) | name | Name of the Service level Agreement (SLA) | description | Description of the Service level Agreement (SLA) | version | Version of the Service level Agreement (SLA) | validityPeriod | Period where the clauses of the SLA are applicable | startTime | Date/Time of the beginning of the validityPeriod | endTime | Date/Time of the end of the validityPeriod | template | SLA Template characteristics | href | Reference of the Template | name | Name of the template | description | Description of the template | relatedParty | Parties engaged in the SLA (SLA provider, SLA consumer, …) | Role | Role attached to each party (SLA provider, SLA consumer, …) | href | Reference of the party | state | Service Level Agreement state | approved | Indicates if the service level agreement is approved or not (True or false) | rule | Common pattern or Template for the SLA parameters, metrics, and thresholds | id | Unique identifier of the metric | metric | Reference of metric stored in the Service Provider "Metrics Library" | unit | Unit of measure of metric | referenceValue | Reference value of metric | operator | Operator used when calculating the rule | tolerance | Allowable variation of metric | consequence | defines the action to be applied as a result of a threshold crossing |
Service Level Agreement "SLA" StatesRegarding "SLA States", the source considered is "WS-Agreement" diagram (state graphic) from which the allowed status changes as recommended in the "SLA Profile" document (section 4) when applicable. For instance, it is assumed that the processes that are linked to the "Negotiation Phase" of the SLA Management lifecycle such as SLA "Approval", "Terms or Conditions" and "Consequence" are in the status of "completed". That means, only one state "Observed" is considered which supposes the SLA is approved and accepted by the related Parties.SLA resource model Image Modified
SLAViolation Resource- SLA Violation resource description
This "SLAViolation" is the second resource considered in this translation into JSON representation. The same representation used for "SLA" resource is applied and is aligned with the SID modeling as well. It is assumed all Metrics are the ones already stored in the Service Provider "Metrics Library" with their attached references and associated with products on-boarded in the Catalogue. The "violation" is defined in terms of ID, description (Metrics, reported date, period). Besides, the RelatedParty such as SLA Provider (CSP), SLA Consumer (DSP) and SLA Auditor (for SLA monitoring) is represented in the same way as for Service Level Agreement "SLA" resource. The same goes for "EndUser" role. Two levels of event representation could be useful to introduce: - an immediate view of the event result impact. This practical and operational view allows the Related Party to react and perform an immediate and direct analysis of potential impacts of the violation.
- The "attachment" is associated with the event and represents statistics, a dashboard or reporting data to be presented to the target Related Party, DSP (SLA Consumer) or / and to CSP (SLA Provider) for deeper analysis purpose.
Example of the JSON representation of an SLAViolation { "id": "7467", "href": "http/www.acme.com/slaManagement/slaViolation/123444", "relatedParty": [ { "href": "http://", "role": "SLAProvider" },
{ "href": "http://", "role": "SLAConsumer" },
{ "href": "http://", "role": "SLAAuditor" },
{ "href": "http://", "role": "SLABusinessBroker" },
{ "href": "http://", "role": "SLATechnicalBroker" },
{ "href": "http://", "role": "ThirdPartySLAManager" },
{ "href": "http://", "role": "EndUser" } ],
"sla": { "href": "http/www.acme.com/slaManagement/sla/123444", "description": "sla of premium video" },
"violation": { "unit": "string", "referenceValue": "available", "operator": ".eq", "actualValue": "available", "tolerance": "0.05", "violationAverage": "0.1", "comment": "Availability below agreed level.", "consequence": "http://ww.acme.com/contract/clause/42", "attachment": { "href": "https://foo.bar/screenshot.123", "description": "availability statistics for August 2013" },
"rule": { "href": "http/www.zak.com/slaManagement/sla/123444/rules/availability", "description": "availability" } } } |
Field descriptionField | Description | id | The id of the resource model (SLAViolation) | SLA | | description | Description of the Service level Agreement (SLA) | href | Reference of the Service Level Agreement | RelatedParty | Party engaged in the SLA (SLA provider, SLA consumer, …) | role | Role attached to each party (SLA provider, SLA consumer, …) | href | Reference of the party | Violation | A discrepancy identified by applying rules to Service Level Agreement related entities. | rule | The rule represents the value of the threshold of the metric. Once crossed it triggers a violation. | description | Description of the rule | href | Reference of the rule | unit | Unit of measure of metric | referenceValue | Reference value of metric | operator | Operator used when calculating the rule | actualValue | Actual value of the metric | tolerance | Allowable variation of metric | violationAverage | TBD | Comment | Comment about violation | consequence | defines the action to be applied as a result of a threshold crossing | attachment | represents statistics, a dashboard or reporting data to be presented to the target parties | description | Description of the attachment | href | Reference of the attachment |
|