eci ie an ac i a e . 9eywords: Charging, Service Composition, IMS, Multi-provider ... of a hotel review listing service, a hotel booking service, and a hotel location ...
Automating the Generation, 0eployment and Application of Charging Schemes for Composed IMS Services Lei >u and Brendan @ennings Telecommunications Software C Systems Group, Waterford Institute of Technology, Waterford, Ireland ElFu, bHenningsIJtssgKorg Abstract!P#o%i'e#) o+ comm.nica1ion) )e#%ice) aim 1o )2eci+34 #eali)e an' 'e2lo3 )e#%ice) a) 6.ic7l3 a) 2o))i8le in o#'e# 1o 9ain a com2e1i1i%e e'9e in mee1in9 e%ol%in9 con).me# 'eman'). One mean) o+ c#ea1in9 new )e#%ice o++e#in9) i) 1he com2o)i1ion o+ 2#e>e?i)1in9 )e#%ice) which4 when o#che)1#a1e' in a 2a#1ic.la# manne#4 2#o%i'e no%el +.nc1ionali13. In'ee'4 man3 in'.)1#3 anal3)1) 2#e'ic1 1he eme#9ence o+ %i#1.al )e#%ice) 2#o%i'e#)4 who 'o no1 1hem)el%e) 'e2lo3 an' o++e# in'i%i'.al )e#%ice)4 8.1 in)1ea' o#che)1#a1e )e#%ice) o++e#e' 83 o1he# 2#o%i'e#). C#.cial 1o 1he ).cce)) o+ 2#o%i'e#) o++e#in9 com2o)e' )e#%ice) i) an e++icien14 a.1oma1e' 2#oce)) 83 which ).ch )e#%ice) a#e cha#9e' an' 8ille' +o#. In 1hi) 2a2e# we 2#e)en1 a 2#oce)) +o# a.1oma1e' 9ene#a1ion o+ cha#9in9 )cheme) +o# com2o)e' IMS )e#%ice)4 8a)e' on anal3)i) o+ 1he cha#9in9 )cheme) a))ocia1e' wi1h )e#%ice) com2#i)in9 1ho)e com2o)e' )e#%ice). Cha#9in9 )cheme) a#e )2eci+ie' .)in9 a Domain S2eci+ic Lan9.a9e FDSLG4 )o 1ha1 1he3 can 1hen 8e ma22e' 1o 2la1+o#m )2eci+ic #e2#e)en1a1ion) 1ha1 can 8e 'e2lo3e' on1o one o# mo#e #a1in9 en9ine). Semi> a.1oma1e' con+i9.#a1ion o+ cha#9in9 )cheme) in 1hi) manne# o8%ia1e) 1he nee' +o# e?2en)i%e man.al con+i9.#a1ion o+ acco.n1in9 com2onen1) e%e#3 1ime a new com2o)e' )e#%ice) i) )2eci+ie' an' ac1i%a1e'. (eywords: Charging, Service Composition, IMS, Multi-provider Composed Services, Domain Specific Language.
IK
INTRO0OCTION
Communications Service Providers QSPsR share a number of characteristics S offering services over a network connection, managing services on behalf of their customers, providing the same service to multiple customers simultaneously, and, most importantly from a business perspective, levying a charge for service usageK In order to maFimise their return from investment in 3G infrastructure, in particular in IP Multimedia Subsystem QIMSR service platforms, many network operators are actively seeking to create ecosystems of third party SPs who offer services to customers via their IMS infrastructureK In particular many are predicting the emergence of soVcalled Virtual Service Providers QVSPsR, who create novel combinations of services offered by other SPsK These services, which are eFecuted according to some defined pattern, are known as composed services, and result in the provision of valuVadded functionality to the customerK
An eFample composed service is depicted in XigK Y below; it offers enhanced hotel booking functionality, and is composed of a hotel review[listing service, a hotel booking service, and a hotel location serviceK The location service is itself a composed service, comprised of a map service, a satellite imager service and a route planning serviceK The service is delivered via a user\s mobile terminal as he[she arrives in a destination and re]uires a hotel roomK In this scenario the VSP offering this service has partnered with eFisting service providers QSPsR, and must therefore share generated revenue amongst its partner SPs based on preVagreed termsK Revenue share is likely to be based on usage levels of individual services, however the amuonts in ]uestion may vary considerable from those which the SPs would themselves charge a customer for eFecution of their serviceQsR on a standalone basisK In this paper we provide a summary of our ongoing work on the development of an Accounting Logic Generator QALGR that will automate the generation, deployment and application of charging schemes for composed IMS servicesK After briefly reviewing related work on charging for composed services in ^II, we provide an overview of our approach in ^IIIK ^IV describes our current prototype implementation, whilst ^V summarises the work and areas for further developmentK 0nhanced 3otel 5ooking Service
3otel 5ooking
"ocation)Map Service
3otel Review)"isting
Mapping
Satellite Imagery provider A
Ro9te Planning provider 5
provider C
composed service
Xigure YK EFample Composed IMS service for enhanced hotel bookingK
IIK
RELATE0 WOR`
Bhushan et alK aYb proposed a framework for Xederated Accounting which addresses aspects of charging for composed services; however their work assumes that services are statically composed and that accounting logic for them is preV configuredK Agarwal et alK acb propose a method for metering and accounting for composite eVservices, which is not dependent on prior knowledge of the service compositionK dowever, their approach supports only two specific service charging models Qflat rate per amount of resource used and flat rate per transactionR and the charge a composed service invocation is always the summation of the charges associated with standalone invocations of the constituent servicesK In previous work a3b, we proposed a framework for charging for multiVvendor composed services in which charging schemes for standalone services can be applied together to calculate charges for sessions of a composed service, but without specific preVconfigurationK Central to the framework is a twoVphase rating process in which changes for individual services are first calculated as if those services were eFecuted in isolation, and subse]uently these interim charges are modified based on the presence of other services in the service compositionK Whilst this framework offers a powerful solution it suffers from some drawbacks, which the work presented here seeks to avoidK Xirstly, there are a only limited number of possibilities for modifying charges for standalone services when they are composed togetherK Secondly, the solution relies on rating engines being upgraded to implement the twoVphase rating process, which would make deployment more difficultK Xinally, charging schemes still must be specified in terms of a representation that can be directly applied by the rating engine − current rating engines typically employ lowVlevel scripting languages, so this can be a time consuming and eFpensive processK The main difference from this paper to our previous work is the adoption of modelVdriven development techni]ues to eFpedite the process of specifying and deploying charging schemesK In particular we are investigating the use of 0omainV Specific Languages Q0SLsR S modelling languages that are designed to more directly represent the problem domain being addressed aebK Models developed in these languages not only raise the level of abstraction for the developer, they are potentially more readily understood by nonVdevelopers working in the problem domain, because they use domainV specific terms and conceptsK We contend that adoption of appropriate 0SLs will allow business analsysts ]uickly define or modify charging schemes for communications services using terminology they are familiar withK Xurthermore, 0SL representations could then be automatically, or semiV automatically be transformed to lowerVlevel representations that can be deployed on rating enginesK
IIIK
XRAMEWOR` 0ESCRIPTION
The deployment of our Accounting Logic Generator in an IMS environment is depicted in XigK c belowK This figures shows the presence of a number of third party services that can be accessed via an operator\s IMS through an OSA gatewayK Rating engines in the service place may then interact with the operator\s own rating engine, which can forward charge records to the operator\s billing systemK We assume the presence of the following components, which complement the functionality provided by the ALGf • !"#$%&" ()*+),"# -!(./ responsible for constructing service compositions to meet specific re]uirements S this could be a manual, semiVautomated or automated process; • 0)#123)4 56768"# -095./ responsible for coordinating the eFecution of individual service instances in the conteFt of a composed service S this could be as a separate hardcoded gservice,h or via a workflow engine; • :6;%78 ?@ -(!! >?@./ allows the specification of charging schemes for services and generates representations of these schemes in our 0SLK In this paper we assume that all charging schemes are represented using our 0SL and that the ALG has the ability to Service Charging Schemes BID Collection
A"F
CSS FLI
Service Composer
composed service logic
olidation BCD cons
atomic service logic
BED Mapping R0CGspecific logic
R0IGspecific logic
Morkflow Manager
BJD Deployment
R0I BSlaveD InterGR0 protocol
Atomic Services
Composed Service
NSAGFM CSCO
3SS
IP Network MiOi
SIP
IMS Domain CDO
R0C BMasterD Metering records
Mediation
Charge records
5illing
FPRS Invoices
Xigure cK
Composed Service Charging Scheme Generation, 0eployment aand Application ArchitectureK
map charging schemes represented using our 0SL to e]uivalent representations that can be directly deployed onto the REs responsible for rating individual atomic servicesK Given these assumptions the operation of the ALG can be decomposed into the following stepsf YK ()33"&;%)7 Opon creation of a composed service the SC will provide the ALG with details of the structure of that composed serviceK The ALG will then retrieve charging schemes for all the atomic services comprising the composed service from the locationQsR indicated by the SC; cK ()7,)3%A6;%)7 The ALG analyses the set of collected composed services and generates consolidated charging schemes, one for each of the target rating engines that the schemes will be deployed onK Note that providers may dictate that their services only be deployed on specific rating engines, hence there may be more than one rating engine involved in the calculation of the charge for a given composed services eFecution session a3bK An outline of the consolidation algorithm is provided below; 3K 56++%78 Once a consolidated charging scheme for deployment on a given RE, represented in our 0SL, is generated it must be mapped to a representation that can be deployed directly to on that REK Such representations may be in terms of a scripting language such as TCL, or in terms of table driven representations such as spreadsheets; eK B"+3)C*"7; When REVspecific charging scheme representations are available the ALG will deploy them on that RE Qthis may be as simple as placing the scheme in a particular location in a file systemRK In addition to the information re]uired to calculate charges, this scheme will contain information such as the uni]ue identifier of the composed serviceK Central to the operation of the ALG is the process for consolidation of the atomic service charging schemes into one or more single charging schemes for deployment on one or more REsK We model composed services as hierarchical collections of atomic and composed services, as depicted in XigK 3K belowK We modify the charging schemes for services within a composition group based on the presence of other master composed service
atomic service
composed service
Inputsf Outputf
List of Master composed service composition groups; Charging Schemes for all atomic[composed services Qdenoted CSiR Charging Schemes for each Rating Engine Qdenoted CSREmR
Yf Xor all composition groupsf cf Xor each service si ∈ EsY, j, snI in the composition groupf 3f Xor each services sH ∈ EsY, j, snI, where sH ≠ sif ef If there eFists an entry for sH , denoted eH, in CSif kf If typeQeHR l RATEmCdANGEf nf CSi′ l applyRateChangesQCSi, eHR of Else if typeQeHR l ABSOLOTEmINCRm0ECRf pf CSi′ l addIncr0ecrQCSi, eHR qf Else if typeQeHR l REPLACEmCSmPARTY Yrf CSi′ l replacePartYQCSi, eHR YYf Add CSi ′ to CSREm, where REm is either a rating engine specified in CSi′ or the default master RE indicated by the SC Ycf Xor each REm ∈ EREY, j, REMIf Y3f Add master composed service information to CSREm Yef Add indication of whether REm is a master[slave RE Xigure 3K
Outline of Charging Scheme Consolidation AlgorithmK
named services within the same groupK This allows service providers to offer discounts or impose penalties when their services are used together, or in conHunction with services provided by business partners or competitorsK To facilitate this our charging schemes for composed services have two partsf part Y indicates how charges are to be calculated if that services is used in isolation, whilst part c indicates how the charging scheme is to be modified if that service is composed together with other named services Qthis approach is similar to that taken in a3b, but in this case we *)A%2C charging schemes +#%)# to deploying them in the rating engines S which greatly increases the fleFibility of the systemRK We allow three types of charging scheme modificationK In the first, the rates in part Y of the charging scheme can be changed Qfor eFample they can be reduced by a specified percentageRK In the second, the charges generated after the part Y rates are applied can be incremented or decremented by a specified absolute value Qthis is e]uivalent to adding a final step to the charge calculation processRK The third type of modification is the most fleFible S the entire part Y of the service\s charging scheme can be replaced by a new part Y, which allows modification of the conditions under which particular rates are applied Qfor eFample the new part Y may modify the times at which cheaper call rates are applied for a telephony serviceRK It should be noted that modification types Y and c can be applied more than once for a given service in a composition group Qfor eFample, if it is grouped with two partner services, the charging scheme can be modified so that the sum of two absolute increments is applied to a chargeRK A highVlevel outline of the consolidation algorithm is provided in XigK 3K IVK
Xigure cK
Composed Service ModelK
PROTOTiPE IMPLEMENTATION
Our initial implementation of the ALG demonstrates operation of the charging scheme consolidation algorithmK To support this we have specified an initial version of our 0SL, eFpressed as an >ML schema, which is primarily targeted towards the specific application depicted in XigK Y, but which also includes an initial set of terminology to describe general aspects of
charging for composed servicesK Xurthermore, we have implemented a mapping from the >ML representation of a charging scheme into a spreadsheet representation that can be deployed directly onto a modified version of the Rating Bureau Service QRBSR − a prototypical rating engine described in akbK The RBS performs mediation of metering records into IP0R records, rating of these records via a spreadsheet engine that employs charging schemes represented as Microsoft EFcel compliant worksheets, and performs basic billing functionality through the generation of webVbased customer invoicesK In our present testbed implementation our 0SL is created and modified using the Eclipse Modelling Xramework QEMXR, which provides a @ava framework and code generation facility for building tools and other applications based on a structured modelK With EMX models can be specified in OML, >ML schemas, >MI, or annotated @ava; for our implementation we are eFpressing our model as an >ML schemaK Instances of charging schemes are created as >ML files, using @ava Emitter TemplatesK Charging scheme >ML files are stored in a file system location and accessed by the ALG, which is implementated in @ava, as directed by a dummy SC implementationK This dummy SC provides structure details for composed services to the ALG using a protocol based on the WXMVRE protocol specified in a3bK The ALG implements the charging scheme consolidation algorithm as outlined above, creating two consolidated charging schemes S one for each of two deployed RBS instances Quse of two REs allows us to test scenarios in which one or more services must be rated by a particular RERK Our implementation currently targets a set of prototypical SIPV based IMS services developed by IMSstream LtdK anbK Charging schemes for each of these services have been developed using the EMX; for some services these schemes include restrictions on the rating engine on which the service can be rated, as well as discount[penatly rules to apply when those services are composed together with other servicesK A dummy WXM, which coordinates the eFecution of a small number of composed services according to a preVdefined pattern is also deployedK Our approach allows a SP modify the charging scheme Qpart cR for one of their services Qusing our 0SLR every time a another SP uses that service as part of a composed serviceK The modification may be as simple as specifying a discount or a different rate, or may involve a complete overhaul of the charging schemeK In either case the ALG will be responsible for generating the charging scheme for the composed service, and for mapping this scheme to the representations appropriate for the set of rating engines that will be used for rating that
serviceK This leads to a higher degree of automation in the charging scheme deployment process, especially since SPs are no longer dependant on third parties to update new versions of charging schemes on rating enginesK VK
CONCLO0ING REMAR`S
This paper provided an overview of ongoing work on the development of a framework for automating many aspects of charging for composed communications servicesK Core to the framework is the use of a 0SL for easy specification and modification of service charging schemes, an ALG component which can consolidate charging schemes for services partaking in a composed service into charging schemes targeting particular REs, and mappings to the charging scheme representations that can be directly deployed on these REsK Xuture work will concentrate on development of a more complete 0SL specification and demonstation of it and of the ALG in a wider range of application scenariosK In particular we will investigate more compleF composed service transactions models Qsuch as those described in Rasavi et alK aobR, deployment of heterogeneous rating engine types, and integration of services whose charging schemes are not specified using our 0SLK AC`NOWLE0GMENTS This work has been funded in part by Science Xoundation Ireland, via crrk Research Xrontiers grant noK CMSrrnK REXERENCES YK Bhushan, BK, Tschichhols, MK, Leray, EK and 0onnelly, WK crrY, gXederated Accountingf Service Charging and Billing in a Business to Business Environment,h in ProcK IXIP[IEEE Int\l SympK on Integrated Network Management QIM crrYR, ppK YroVYcY; cK Agarwal, MK, `arnik, NK and `umar, A crr3, gMetering and accounting for composite eVServices,h in ProcK Yst IEEE Int\l ConfK on EVCommerce QCEC crr3R, ppK 3kV3q; 3K @ennings, BK and Malone, PK crrn gXleFible Charging for MultiVprovider Composed Services using a Xederated, TwoVPhase Rating Process,h in ProcK crrn IEEE[IXIP Network Operations C Management Symposium QNOMS crrnR; eK Cook SK crre g0omain Specific Modeling and Model 0riven Architecture,h M0A @ournal, aOnlineb, Availablef httpf[[wwwKbptrendsKcom acrro, Xebruary Y3b; kK Brasil, @K, de Leastar, EK, Ryan, CK and t Xoghlu, MK crrc gWorkbook Approach to Algorithm 0esign and Service Accounting in a Component Oriented Environment,h in ProcK IEEE Workshop on IP Operations C Management QIPOM crrcR; nK IMSstream LtdK overview, aOnlineb, Availablef httpf[[imsstreamKcom, acrro, Xebruary Y3b; oK Rasavi, AK RK, Malone, PK @K, Moschoyiannis, SK, @ennings, BK and `rause, PK @K crro, gA 0istributed Transaction and Accounting Model for 0igital Ecosystem Composed Services,h in ProcK Yst IEEE Conference on 0igital Ecosystems and Technologies Q0EST crroRK