Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added Sections 2 and 3

...

Our intended audience is CIO's, CDO's, CTO's and Developers working in organizations whose performance is dependent on meeting Service Level Agreements both internally and externally. Our proposed solution will adhere to the Service Provider - Vendor model but can also be aligned to other technical service management models like those described in the ITIL methodology.

 

1. Introduction

A service level agreement (SLA) quantifies the details of a business contract between two business entities (in our case a service provider and a service vendor). These details include the minimum quality of the service provided, service uptime commitments (reliability) and technical support availability (responsiveness). Depending on the nature of them (internal, external etc.), the breach of SLAs could have legal consequences for the breaching party.

The steps of

...

an SLA can be introduced as follow:

1- Negotiation and agreement: An essential step to agree on an SLA is quantifying the service levels using performance metrics. For instance the in ISP/Customer SLAs, the service uptime is typically provided by a percentage e.g., 99.999%.

The other vital part of an SLA is the clear description of the consequences of the breach of contract for the parties involved e.g., penalties, compensations etc.


2- Enforcement: The perfect SLA, if not accompanied by an efficient enforcement tool, would not satisfy the parties involved. The enforcement of the SLAs has many challenges:

a- Different interpretations of the SLA

b- Different measurements of the performance metrics (especially the metrics such as latency which are not very straightforward to measure)

c- Manual monitoring of the SLA parameters at all times.

...

d- SLA violation detection

Both of the above-mentioned steps to assure the operation of an SLA are currently done manually between the telecos. 

 

1.1 SLA Record-keeping 

The distributed ledger technology built into the Hyperledger projects can bring trust to the record-keeping process in SLA monitoring and management. In other words, the measurements of the quality parameters along with the SLA violation incidents can be kept as immutable records in the distributed ledger. 

1.2 SLA Enforcement

Smart Contracts could benefit greatly from the smart contract technology through automation of the enforcement process. For instance, a chaincode can define a set of SLA violations and their subsequent penalties (this could be done through a financial transaction built into the chaincode) therefore automating the enforcement process and bypassing the manual process of the SLA enforcement.



 

2. The Blockchain Framework

We use Hyperledger Composer to implement the proof of concept application of SLA Management over the blockchain. The reason behind this choice is:

a- Simplicity of writing chaincodes using Hyperledger Composer

b- Hassle-free application development without worrying about the deployment details of the blockchain network.

c- Hyperledger Composer's features such as the REST API and the Angular APP

3. The Business Network


This business network consists of the following components:

  • Roles: Originator ServiceProvider Vendor
enum Role {
  o Originator
  o ServiceProvider
  o Vendor
}
  • Participants: ServiceProvider ServiceVendor Customer
participant ServiceProvider identified by providerId {
  o String providerId
  o String name
}

participant ServiceVendor identified by vendorId {
  o String vendorId
  o String name
}

participant Customer identified by custId {
  o String custId
  o String name
}
  • Assets: TroubleTicket
asset TroubleTicket identified by incidentId {
  o String incidentId
  o String vendorTicketId optional
  o String type
  o Severity severity
  o String description
  o DateTime creationDate
  o String status
  o DateTime acknowledgedDate optional
  o DateTime resolutionDate optional
  o DateTime targetAcceptedTimestamp optional
  o DateTime targetClosedTimestamp optional
  o String acceptanceSLA optional
  o String closureSLA optional
  o Note[] note optional
  -->ServiceProvider SP
  -->ServiceVendor SV optional
  -->Customer C
}

  • Transactions: CreateTicket AssignVendor UpdateTicket ResolveTicket CloseTicket
transaction CreateTicket{
  --> Customer C
  --> ServiceProvider SP
  --> ServiceVendor SV
  o String incidentId
  o String type
  o Severity severity
  o String description
  o DateTime creationDate
  o String status
  }

transaction AssignVendor{
  --> TroubleTicket ticket
  -->ServiceVendor SV
  o String status
  o DateTime statusChangeDate
  o String statusChangeReason
}

transaction UpdateTicket{
  --> TroubleTicket ticket
  o String status
  o DateTime statusChangeDate
  o String statusChangeReason
}

transaction ResolveTicket{
  --> TroubleTicket ticket
  o String status
  o DateTime resolutionDate
  o String statusChangeReason
}


transaction CloseTicket{
  --> TroubleTicket ticket
  o String status
  o DateTime statusChangeDate
  o String statusChangeReason
}

Testing:

To test this Business Network Definition in the Test tab on the playground or in your Angular app:

1- In the Customer, ServiceProvider, ServiceVendor participant registry, create new participants with appropriate input values.

Alternatively, you can also use the SetupDemo tranaction which would populate the network with 2xCustomers, 2xServiceProviders, 2xServiceVendors.

2- Creat a ticket using the Submit Transaction button and fill in the information based on the created participants. Upon submission, you should see a new asset added to the asset lists under 'TroubleTicket'.




4. SLA Back & Front-End

The following figure shows the Participants in the app and the process of creating them.


SLA Monitoring ParticipantsImage Added


The following figure shows the Transactions in the app and the process of invoking them.

Image Added





...

OLD Content

This white paper explains... [start with a brief topic sentence that sums up what’s in the document. This section “tells them what you’re going to tell them.”]

[In this section, provide a high-level introduction to the topic being covered. If the main body of the white paper will cover four different topics, name them each here, and point to the section where they are considered in more detail.]

[This section doesn’t have to be written first, but it must be filled in before the publication is complete. This helps readers understand the scope of the white paper and whether it’s worth their time to read the entire publication.]  

1.1 subsection--topic 1

[If needed, break up the Introduction in subsections. Always have at least 2 subsections, 1.1 and 1.2 or else this numbering system looks unnecessary.]

1.2 subsection--topic 2

[same as above]

1.3 subsection--topic 3

[same as above, if needed]

[Add a page break at the end of the Introduction]

...





This section describes an earlier application interface for the SLA solution including prints of the service provider -and vendor screens.

...