Upload
marylou-lynch
View
213
Download
0
Tags:
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.