15
Cost Control in Service Composition Environments NGMAST 2008 Jörg Niemöller, Raphaël Quinet, Roman Levenshteyn and Ioannis Fikouras Ericsson Corporate Research

Slide title In CAPITALS 50 pt Slide subtitle 32 pt Cost Control in Service Composition Environments NGMAST 2008 Jörg Niemöller, Raphaël Quinet, Roman Levenshteyn

Embed Size (px)

Citation preview

Slide titleIn CAPITALS

50 pt

Slide subtitle 32 pt

Cost Control in Service Composition Environments

NGMAST 2008

Jörg Niemöller, Raphaël Quinet, Roman Levenshteyn and Ioannis Fikouras

Ericsson Corporate Research

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

NGMAST'08 Cost Control in Service Composition Environments 2008-09-152

Content

Service Composition Analysis of Business Relations Usage based price prediction Example

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

NGMAST'08 Cost Control in Service Composition Environments 2008-09-153

Dynamic composition at run-time

Service Composition– Decoupling of application logic and enabling functionality– Reduces design complexity by taking decisions at run-time– Enables event-driven logic– Enables automated re-use of services and application logic

Ap

pli

ca

tio

n

DevelopmentEnvironment

publish

bind

Service Registry

desc

desc

desc

Se

rvic

es

Enablers

Content

bind

find

Design Execution

LocationEnabler

publish

WeatherInfo

Service Registry

desc

desc

desc

Ser

vice

s

Enablers

Content

bind

DevelopmentEnvironment

bind

Design Execution

comp.Ap

plic

atio

n

LocationEnabler 1

LocationEnabler 2

WeatherInfo

bind

publish

publish

publish

find find

Service Registry

desc

desc

desc

Se

rvic

es

Enablers

Content

bind

DevelopmentEnvironment

Design Execution

comp.Ap

plic

atio

n

LocationEnabler 1

LocationEnabler 2

WeatherInfo

bind

publish

publish

bind

findfind

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

NGMAST'08 Cost Control in Service Composition Environments 2008-09-154

IMS Service CompositionA use case for model based service composition

3GPP proposes a SCIM (Service Capabilities Interaction Manager) as layer within the SIP application server for flexible application routing

Model based service composition is our proposal for implementing a SCIM

S-CSCFS-CSCF

SIP Application Server

SIP Application Server

HSSHSSOSA service

capability server(SCS)

OSA service capability server

(SCS)

IM-SSFIM-SSF

Camel Service Environment

Camel Service Environment

OSA application

server

OSA application

server

ISC

Cx ISC

ISC

CAP

MAP

OSA API

SCIM

AS AS

Sh

Si

MRFCMRFC

Mr

HSS

P-CSCF I-CSCF

S-CSCF

Application Server

CEA SIP SIP

Application Server

WSCEA WS

Application Server

HTTPCEA HTTP

Ap

plic

atio

ns

Co

ntr

ol P

lan

e

Multi-ServiceComposition Engine

ServiceDatabase

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

NGMAST'08 Cost Control in Service Composition Environments 2008-09-155

Composite Services

The composition environment implements an inference engine Service Skeletons steer the inference engine Composite services are deigned in terms of constraints for service selection Service Skeletons are a graphical representation of constraints Constraints define conditions for the selection of services based

on the service model– Constraints result in queries to the service database– Which particular service is selected depends only on the data

in the database.– Services implemented with different technologies are equal as long

as they match the constraints High abstraction level in composite service design

supports re-use of components

start_call_nearest_friendSkeleton: start_call_closest_friend

IsInvite$(sip_request.method)=‘INVITE’

TRUE

getMyPositionConstraints: (Function=‘positioning’)Parameters:SUBSCRIBER:’sip:’+$(sip_request.from.user_at_host)

get_nearest_friendget_nearest_friend@this

end2

ChangeCallSetupConstraints: (srv=CallSetup)Parameters:DESTINATION:NearestFriend

LeaveContainerConstraints: (srv=LeaveContainer)

end1

FALSE

Save Datacaller_position=$(ws_response)

GetService

Service Template Processing

Composition Skeleton

UserRequest

Constraint Satisfaction

Service Invocation

<constraint1> & <constraint2>

Service DB

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

NGMAST'08 Cost Control in Service Composition Environments 2008-09-156

Parties and Business Relations

ServiceProvider

ServiceUser

NetworkOperator

• Is a subscriber in the operator’s network

• Gets telecommunication services from the operator

• Pays the operator for services

• Provides own and 3rd party telecommunication services to the subscribers

• Marketing for services• Charges and bills for

service usage

• Marketing for services

• Special subscription to services

• Provides a platform for 3rd party service offers towards his subscribers

• Calls the 3rd party service• Pays out the fees for

service usage

• Publishes his service on the operator’s network

• Is paid for service usage

ChargingBilling

AccountingDistibution

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

NGMAST'08 Cost Control in Service Composition Environments 2008-09-157

Service Usage and Billing Relations

Service Domain

Service A

Service Provider 1

Operator,Service Broker

Composite Service

<<include>>(dynamic selection)

Service B

Service Provider 2

<<include>>(dynamic selection)

<<provide>><<request>>

<<provide>>

<<provide>>

User

<<deliver>>

<<deliver>>

Billing Domain

Billing for Service Usage

Service Provider 1

Operator,Service Broker

Billing for Composite

Service Usage

Service Provider 2

<<collect>><<pay>>

<<collect>>

User

<<pay>>

<<collect>>

Decoupled income and spending for the composite service operator

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

NGMAST'08 Cost Control in Service Composition Environments 2008-09-158

Charging Aware Service Selection

Allows service selection criteria (constraints) based on the service price (e.g. max price limit, select cheapest service, …)

Service Price Information (or link to it) added to service description. Price tag attached to service.

Service prices in general depend on service usage details (duration, data volume, number of invocations, …)

The price can in general not be calculated in advance.

Constraint evaluation does not yet support service selection logic that needs additional functions (price calculation)

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

NGMAST'08 Cost Control in Service Composition Environments 2008-09-159

Service Usage Profiles

Express the expected or average service usage per service type

Example:voice: 18:00-20:00 10min, else 5min

Between 18:00 and 20:00 each voice call of this user is expectedto be 10 minutes long otherwise a duration of 5 minutes is expected.

User or user group specific, linked from the user profile

Can be derived for example from usage statistics

User Profiles

User 001

Usage Profiles:Service Type Usage Profile

voip UPv001tv UPtv003

User Category: Voice.Platinum

…Service Usage

Profiles

UPv001, service type: voice

08:00 – 18:00 -> 20min 18:00 – 22:00 -> 5minelse -> 10min

UPtv003, service type: tv

18:00 – 22:00 -> 20min, 4MBelse -> 10min

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

NGMAST'08 Cost Control in Service Composition Environments 2008-09-1510

Service Price PredictionCharging System Aided

Price calculation function introduced at service selection

Price Information from the Charging System

– Charging system is the reference regarding service prices.

– Applies same logic in price predictions as in “real” charging

– Considers temporary special conditions like promotions

New function in the Charging System New Interface for price calculation requests

– Extension of Diameter CCA or new Diameter application protocol

Charging System

Tariffs and Charging Models

Service, User,Usage Profile, … Expected Price

Service Selection

User Database Service Usage Profiles

Service Database

Ask Charging System!

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

NGMAST'08 Cost Control in Service Composition Environments 2008-09-1511

Service Price PredictionLocal Charging Model Definition

Local Definition of charging models– Extensive definition using tree of linked tables

– Simple formula for calculation of an estimate price

Evaluated at service selection Link to price information is attached to the service

description

Price = t*0.2[EUR]

DAY of week

Sat,Sunother

flat0.2 EUR/min

UserSubscription

PlatinumGoldother

flat

Service Database DAY of week

Sat,Sunother

0.1 EUR/min

Time

08:00 – 18:00

other

0.4 EUR/min18:00 – 22:00 0.2 EUR/min

0.1 EUR/min

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

NGMAST'08 Cost Control in Service Composition Environments 2008-09-1512

Charging Aware Service Selection

User Profiles Service

Usage Profiles

GetService

Service Template Processing

Composition Skeleton

UserRequest

Constraint Satisfaction

Service Invocation

Price Prediction

<constraint> & <selector(cond)>

ConditionEvaluation

$?

Service Database

$?

$?

(x$ < y$) ?

Charging System

Tariffs and Charging Models

Service Database

t*0.1$

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

NGMAST'08 Cost Control in Service Composition Environments 2008-09-1513

Example: Family ChatFamilyChat

GetCallerPositionconstraints: (function=Positioning)&(price<=0.1 EUR)

&(price=min)parameters: SUBSCRIBER: ‘sip:’+$(sip_request.from.user_at_host)return value: caller_pos

GetFamilyListconstraints: (srv=FamilyList)parameters: SUBSCRIBER: ‘sip:’+$(sip_request.from.user_at_host)return values: contact_list

END

IsInvite$(sip_request_method) = ‘INVITE’

StartChatconstraints: (function=Chat)&(price is min)parameters: CONTACT: $(found_contact)

Yes No

END

GetNearestContactconstraints: (srv=GetNearestContact)parameters: CONTACT_LIST: $(contact_list)

REFERENCE_POSITION: $(caller_pos)return value: found_contact

ReplyErrorconstraints: (srv=ErrorSender)parameters: ERROR: ‘no contact found’

ContactFound$(found_contact) = ‘ ’

Yes No

END

0.5 EUR per invocation + 1 EUR per h

PosA: 0.05 EUR per invocationprice tag stored in Service DB

PosB: 0.2 EUR between 08:00 and 20:00free between 20:00 and 08:00Pricing defined by script in service DB

ChatC: 0.01 EUR per chat messagefree in case of promotionAsk charging system

ChatD: 0.5 EUR per h +0.01 EUR for 10 MessagesAsk charging system

Expected usage: 1h + 100 messages

4 family members registered

Actual usage: 2h + 200 messagesIncome: 2.5 EURSpendings min/max: 1.20 EUR / 3 EURSelected according to usage prediceion at 10am: PosA (0.25 EUR),

ChatD (1.20 EUR)

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

NGMAST'08 Cost Control in Service Composition Environments 2008-09-1514

Conclusion and Outlook

Predicted prices are not most accurate, but they allow a relative comparison of services.

Further work could investigate algorithms that lead to accurate usage profiles.

Besides the price other dynamic of “soft” selection parameters could be considered, e.g. service quality.

Top right corner for field-mark, customer or partner logotypes. See Best practice for example.

Slide title 40 pt

Slide subtitle 24 pt

Text 24 pt

Bullets level 2-520 pt

NGMAST'08 Cost Control in Service Composition Environments 2008-09-1515