Top Banner
SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science Department {d.lamanna | j.skene | w.emmerich}@cs.ucl.ac.uk
44

SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Jan 13, 2016

Download

Documents

Irene Gregory
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

SLAng - SLA notation generatorA language for defining SLAs

Davide Lamanna, James Skene and Wolfgang Emmerich

University College LondonComputer Science Department

{d.lamanna | j.skene | w.emmerich}@cs.ucl.ac.uk

Page 2: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Agenda

• Goals

• Approach

• Structure of SLAng

• Example

• Conclusion and future work

Page 3: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Goals

•Producing a formal language, with a well defined syntax and semantics for describing service level specifications (SLSs)•Specification of non functional features (service level) of contracts between independent parties to allow the integration with the functional design of a distribuited component system•Parameterisation, compositionality, validation of service level agreements

Page 4: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Approach 1/3

• To concentrate on specific, state-of-the-art application server technologies (J2EE)

• To associate performance targets with identifiable ASP components

• To use popular and standard information exchange formats (XML)

Page 5: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Approach 2/3

• The semantics is not dependent on complete models of the ASP. It is instead defined in terms of the domains of the performance properties

• QoS properties are somewhat dependent on the system tier being described

Page 6: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Approach 3/3

• We assume the use of components for assembly of distributed application services

• We require horizontal SLSs that govern interaction between components

• We also need vertical SLSs that govern the support components get from their infrastructure

Page 7: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Vertical and Horizontal SLAs

Components

Container

Network

Database

User Components

Container

Network

Page 8: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

SLAng

• SLAng - SLA notation generator• XML schema• Parameterisation of SLSs at different

system tiers, including vertical and horizontal agreements

• Focuses on interfaces thus allowing compositionality

• XML format enables validation

Page 9: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Structure of SLAng (1/3)

Page 10: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Structures of SLAng (2/3)

Page 11: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Structure of SLAng (3/3)

Page 12: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

What is a SLA?

Service Level Agreement

Service Level Specification

ClientService Provider

«instance»

Legal Contract

Page 13: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

General structure of a SLA contract

Page 14: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

User (1/3)

Page 15: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

User (2/3)

Page 16: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

User (3/3)

Page 17: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Hosting (1/3)

Page 18: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Hosting (2/3)

Page 19: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Hosting (3/3)

Page 20: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Persistence (1/3)

Page 21: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Persistence (2/3)

Page 22: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Persistence (3/3)

Page 23: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Communication (1/3)

Page 24: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Communication (2/3)

Page 25: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Communication (3/3)

Page 26: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Service (1/3)

Page 27: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Service (2/3)

Page 28: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Service (3/3)

Page 29: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Container (1/3)

Page 30: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Container (2/3)

Page 31: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Container (3/3)

Page 32: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Networking (1/3)

Page 33: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Networking (2/3)

Page 34: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Networking (3/3)

Page 35: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

An example: the auction scenario

Auctioneer

ASP

ISP SSP

Buyern

TTP

Seller1

Sellerm

Credit Rating Agency

Retail Bank1 Retail Bankj

Service Level Agreement (SLA)

Buyer1

Page 36: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Actors and SLAs

Auctioneer

ASP

ISP SSP

TTP

Seller

Credit Rating Agency

Retail Bank

BuyerASP

ASP

Auctioneer

Auctioneer

Service

Hosting

Communication Persistence User

Page 37: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Parties➔Seller

➔Auctioneer

➔ASP

➔SSP

➔ISP

Polish Philatelic SocietyKracov

Auction TodayLos Angeles

EuroTelecom ConnectNewark (UK)

Compaq.comHouston, Texas

EarthLinkConnecticut

Page 38: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Seller/auctioneer<?xml version="1.0" encoding="UTF-8"?><SLAng xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="/dave/TAPAS/SLAng0_4/SLAng0_4.xsd">

<Vertical><User>

<Id sls_id="AF324" service_id="Auction sale"/><Client>

<Name>Polish Philatelic Society</Name><Place>Kracov</Place>

</Client><Server>

<Name>Auction Today</Name><Place>Los Angeles</Place><Availability reliability="96%"/><Maintenance recovery_time="1" scheduled_outages="10" routine_maintenances="10"/><Performance latency="1.141" peak_time_latency="3.173"

successful_transactions="98%"/><Security data_protection="true" encryption_method="RSA" certificate="true"

user_authentication="true" intrusion_detection="false" virus_scanning="false" eavesdrop_prevention="false"/><Backup solution="REOBack" complete_backup_interval="24"

incremental_backup_interval="6" data_types="User profile data" archiving_form="zip" client_access="true" backup_encryption="false" individual_client_backup="false"/>

<Monitoring tracking_system="EHS Performance Tracking" report_method="XML document" report_frequency="1/week" reporting_on_demand="true" security_violations="true"/>

</Server><Mutual>

<Service_schedule start="2002-09-05" end="2003-09-05"/><Failure_clauses compensation="(100%-availability)*3.1" exclusion_clauses="routine

maintenances"/></Mutual>

</User></Vertical>

</SLAng>

Page 39: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Auctioneer/ASP<?xml version="1.0" encoding="UTF-8"?><SLAng xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="dave/TAPAS/SLAng0_4/SLAng0_4.xsd">

<Vertical><Hosting>

<Id sls_id="49258" service_id="Sales Automation"/><Client>

<Name>Auction Today</Name><Place>Los Angeles</Place><Clients mean_number="24000" maximum_number="40000" arrival_rate="113.2"/><Availability>95%</Availability>

</Client><Server>

<Name>EuroTelecom Connect</Name><Place>Newark (UK)</Place><Provision disk_space="500" memory_usage="512"/><High_availability>99.6%</High_availability><Maintenance recovery_time="2" scheduled_outages="20" routine_maintenances="12"/><Performance response_time="2.6" peak_time_latency="4.7" successful_transactions="98%"

processing_speed="843"/><Cluster_throughput containers="9" active_clients="310" method_invocation="53.141"/><Security data_protection="true" encryption_method="RSA" certificate="true"

user_authentication="true" intrusion_detection="false" virus_scanning="true" eavesdrop_prevention="false"/><Backup solution="REOBack" complete_backup_interval="24" incremental_backup_interval="6"

data_types="User configuration data" archiving_form="rar" client_access="true" backup_encryption="false" individual_client_backup="true"/><Monitoring tracking_system="IDX System" report_method="XML" report_frequency="48"

reporting_on_demand="false" security_violations="false"/></Server><Mutual>

<Service_schedule start="2002-08-13" end="2003-08-13"/><Failure_clauses compensation="(100%-availability)*4.6" exclusion_clauses="Client caused

outages"/></Mutual>

</Hosting></Vertical>

</SLAng>

Page 40: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Auctioneer/credit rating<?xml version="1.0" encoding="UTF-8"?><SLAng xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="dave/TAPAS/SLAng0_4/SLAng0_4.xsd">

<Horizontal><Service>

<Id sls_id="453A" service_id="Rating"/><Client>

<Name>Auction Today</Name><Place>Los Angeles</Place><Availability>96%</Availability>

</Client><Server>

<Name>Fitch Ratings</Name><Place>Hong Kong</Place><Availability reliability="93%"/><Maintenance recovery_time="2" scheduled_outages="8" routine_maintenances="5"/><Backup solution="Softbackup" complete_backup_interval="72" incremental_backup_interval="24"

data_types="Log data" archiving_form="zip" client_access="true" backup_encryption="true" individual_client_backup="true"/></Server><Mutual>

<Service_schedule start="2002-08-13" end="2010-08-13"/><Performance>

<Service_time average="7.3" maximum="16.9" minimum="4.6"/><Service_rate>26.7</Service_rate>

</Performance><Clients>3056</Clients><Security data_protection="true" encryption_method="RSA" certificate="true"

user_authentication="true" intrusion_detection="true" virus_scanning="true" eavesdrop_prevention="true"/><Monitoring tracking_system="EHS Performance Tracking" report_method="XML"

report_frequency="24" reporting_on_demand="true" security_violations="true"/><Failure_clauses compensation="(100%-availability)*0.8" exclusion_clauses="routine

maintenances"/></Mutual>

</Service></Horizontal>

</SLAng>

Page 41: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

ASP/SSP<?xml version="1.0" encoding="UTF-8"?><SLAng xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="dave/TAPAS/SLAng0_4/SLAng0_4.xsd">

<Vertical><Persistence>

<Id sls_id="fgh812g" service_id="storage"/><Client>

<Name>EuroTelecom Connect</Name> <Place>Newark (UK)</Place>

<Users mean_number="18400" maximum_number="35000" arrival_rate="174.4"/> <Availability>99.6%</Availability>

</Client><Server>

<Name>Compaq.com</Name><Place>Houston, Texas</Place><Provision disk_space="400"/><Availability>97%</Availability><Reliability>90%</Reliability><Maintenance recovery_time="2" scheduled_outages="17" routine_maintenances="24"/><Query_response_time average="0.8" maximum="1.8" minimum="0.2"/><Data_integrity>97%</Data_integrity><Security encrypted_storage="true" encryption_method="DES" certificate="false" user_authentication="true"

intrusion_detection="true" virus_scanning="false" eavesdrop_prevention="true"/><Backup solution="CommVault" complete_backup_interval="48" incremental_backup_interval="12"

data_types="all" archiving_form="tar" client_access="true" backup_encryption="true" individual_client_backup="true"/><Monitoring tracking_system="RTS" report_method="XML" report_frequency="72"

reporting_on_demand="false" security_violations="false"/></Server><Mutual>

<Service_schedule start="2002-08-13" end="2005-08-13"/><Cpu_utilisation>75%</Cpu_utilisation><Memory_usage>80%</Memory_usage><Connection_entries>4967295</Connection_entries><Users>4294964225</Users><Failure_clauses compensation="(100%-availability)*2.8" exclusion_clauses="routine maintenances"/>

</Mutual></Persistence>

</Vertical></SLAng>

Page 42: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

ASP/ISP<?xml version="1.0" encoding="UTF-8"?><SLAng xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="dave/TAPAS/SLAng0_4/SLAng0_4.xsd">

<Vertical><Communication>

<Id sls_id="357BN" service_id="FracT3"/><Client>

<Name>EuroTelecom Connect</Name><Place>Newark (UK)</Place><Usage arrival_rate="14.2" MTU="1024" access_link_limitation="50%"/><Availability>99.6%</Availability>

</Client><Server>

<Name>EarthLink</Name><Place>Connecticut</Place><Maintenance recovery_time="1" scheduled_outages="6" routine_maintenances="12"/><Reliability downtime="20"/><Performance_guarantees delay="2.3" jitter="0.7" packet_loss="3.2%" bandwidth="512"/><Security firewall="true" firewall_system="NetBSD" user_authentication="true"

intrusion_detection="true" ipsec="true" eavesdrop_prevention="false"/><DiffServ_level>010100</DiffServ_level><Monitoring tracking_system="EHS Performance Tracking" report_method="XML

Document" report_frequency="3/week" reporting_on_demand="true" security_violations="true"/></Server><Mutual>

<Service_schedule start="2002-08-13" end="2004-08-13"/><Failure_clauses compensation="(100%-availability)*1.2" exclusion_clauses="Client caused

outages"/></Mutual>

</Communication></Vertical>

</SLAng>

Page 43: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Conclusion and future work

• SLAng can specify tier-specific horizontal and vertical SLAs between users and providers

• Easily extendable to increase expressivity• Modeling and reasoning about SLAs• Translating an SLA into a deployment descriptor• Monitoring compliance to SLA• Toolkit for service composition and analysis (assist

ASP in determining what SLSs they can undertake to meet)

Page 44: SLAng - SLA notation generator A language for defining SLAs Davide Lamanna, James Skene and Wolfgang Emmerich University College London Computer Science.

Questions

?