Académique Documents
Professionnel Documents
Culture Documents
Introduction
Communication service providers (CSPs) are
nding themselves in the midst of continuous evolution: evolution of usage patterns, evolution of endpoint technology, evolution of monetization models,
and evolution of services. A dynamic driver for all of
this evolution is the universe of applications that is
continuing to grow rapidly.
CSPs are challenged to increase revenue while
staying competitive in the current environment. While
the number and types of applications are driving up
network usage, at rates for data seem to be needed to
keep CSPs competitive. What is the consequence?
Bell Labs Technical Journal 18(1), 171193 (2013) 2013 Alcatel-Lucent. DOI: 10.1002/bltj.21598
the prospect of differentiating on handsets and network speed/quality is a difcult one and tends to be
transient (although very effective, as attested by the
AT&T-iPhone* experience [2]). In addition, given
comparable handset offerings and comparable network speed/quality, there will be the same or, at least,
comparable over-the-top applications supported,
making a value differentiation difcult considering
only over-the-top applications.
The focus of this paper is a system for providing
network-resident capabilities enabling networkenriched applications that can be differentiators for a
CSP. This network-resident system is the Service
172
DOI: 10.1002/bltj
exposure APIs to provide a secure payment mechanism potentially supports a variety of subscriber
applications, e.g., for unbanked consumers, as
described in [10].
Bandwidth Management
A highly useful capability that supports delivery
of video (e.g., real time television-quality video) and
other high-volume content is the exposure of mechanisms that improve the delivery and distribution of
high-speed trafc. An example would be mechanisms for reserving and using pipes with a guaranteed quality of service (QoS). The opening up of the
network to provide QoS and bandwidth control can
be of signicant benet to a host of content-related
applications. Various technical and business model
aspects of doing so are described in [5].
Subscriber Information
CSPs maintain a considerable amount of information that is subscriber-related. Some CSPs offer
network address and contact storage mechanisms,
which may include presence information.
Equipment information registers include data on
each subscribers device type. This is typically used to
prevent the use of stolen devices, but it can also be
used to enhance applications and services. CSPs also
have records of all subscriber calls and texts. If CSPs
were to develop applications that would benet subscribers by leveraging this information, subscribers
could sign up for such services.
Authorization and Privacy/Opt-In
Though there are various benets for opting-in
to applications, authorization services that provide
privacy protection are needed as well. Both partners
and subscriber applications would be supported by
including such capabilities (e.g., services based on
Open Authorization Protocol (OAuth) as described
in [6]) as a network offering that could be exposed.
Call Control
Messaging, discussed above, allows web applications to send messages to mobile end points. Call
control could also prove valuable to applications
and can be exposed using third-party call control
mechanisms.
DOI: 10.1002/bltj
173
Web services
Service mediation,
normalization, and
composition
Provisioning
interface and
engine
Reporting/analytics
System management
Mobile
originated
trafc
Figure 1.
Open API Platform (OAP) bridging web services and communication/other services.
174
DOI: 10.1002/bltj
SCF Architecture
We determined that the element in the OAP system providing service normalization, mediation, and
composition should be alterable and congurable,
such that new normalization and mediation variants,
as well as new composite services can be added at
will, without requiring the element to be taken out
of service and/or restarted. This became a guiding
principle in the design of the SCF, which is the element in the OAP system providing these capabilities.
Another guiding principle was that the SCF should
be a true carrier-grade system, with the ability to
monitor, report, control, and bill for services that it
hosts. A third guiding principle is that the SCF should
be developed in such a way as to support highvolume trafc, geo-redundant congurations, and
deployment both in premise-based servers and in
cloud computing. The following sections describe
how the SCF has been architected and designed.
SCF Platform Technology
In order to accommodate on-the-y loading of
new software, as well as easy composition, we chose
to use a service-oriented architecture (SOA)
approach, since SOA concepts of modular and independent software components that can be linked
together t well with the SCF guiding principles.
The options of creating the SCF platform within
Alcatel-Lucent or using a vendor or other thirdparty solution had to be considered. A third-party
solution offered the possibility of reduced time-tomarket. Some attractive third-party solutions were
available externally, and early entry with SCF was
highly desired. However, the guiding principle of
providing a carrier-grade solution was not adequately met by the third-party solutions considered.
Performance, maintenance capabilities, and support
for geo-redundancy were typical inadequacies. We
chose to go with a hybrid of third-party and AlcatelLucent development, using Open Service Gateway
initiative (OSGi*) technology. OSGi technology is a
mature, component-oriented technology that augments a Java* execution environment by providing
the following [16]:
DOI: 10.1002/bltj
175
Container resources
Apache ODE
OSGi container (single JVM)
Drools
JDBC
Composite
service 1
Composite
service 2
Composite
service n
Camel endpoints
CXF
component
Jetty
component
JMS
component
TDR
enabler
SMS
enabler
Location
enabler
LDAP
enabler
Email
enabler
Payment
enabler
ServiceMix components
CXFCeltix and XFire
ESBEnterprise service bus
JDBCJava Database Connectivity
JMSJava message service
JVMJava virtual machine
Figure 2.
Use of OSGiFuse/ServiceMix in the SCF.
176
DOI: 10.1002/bltj
OSGi container/bundles
Utilities
Policies
Camel
FUSE/service mix
endpoints
Loaded at installation
Includes core enablers
(e.g., TDR, and measurements)
JVM
JMX
agent
RMI
registry
JVM
JVM
MySQL
DB
SNMP
Core
Enablers
Services
Components
ALUAlcatel-Lucent
DBDababase
JMXJava management extensions
JVMJava virtual machine
OSOperating system
OSGiOpen service gateway initiative
Figure 3.
SCF structure.
DOI: 10.1002/bltj
177
Realtime/operational
interfaces
Conguration
interfaces
Reporting/business
interfaces
Monitoring
interfaces
OAP
Front Door (FD)
provisioning/
conguration
System
management
portal (SMP)
Service Composition
Framework
(SCF)
Reporting and
analytics (R&A)
Business
management
system (BMS)
Protected network/interfaces
APIApplication programming interface
OAPOpen API Platform
Figure 4.
High-level OAP architecture.
178
DOI: 10.1002/bltj
higher-level constructs such as services and the components involved in a particular service architecture.
The correlation engine can maintain a coherent view
of the service state based on the state of individual
components.
The SCF has enabler components which have
interfaces to southbound protected network interfaces, e.g., Short Message Peer-to-Peer Protocol
(SMPP), or internal resources such as the clustered
database (DB). These enabler components are interworked and connected by service component logic.
Logic for repeated decisions and tasks can also
be encapsulated in a component. Decision logic is
encapsulated in a policy component. Logic for
repeated/common tasks can be encapsulated in a
utility component.
Figure 7 shows the layering of the component
architecture. It is designed to simplify the job of the
component developer. As described above, the
API
Role of service
Expose a REST, Web services,
other HTTP-based or native
TCP-based API
Combine logic, policy, acquired
data
Provide desired result from
composite
Role of enabler
Provide access to external data,
service, or element
Service
Policy
Java libraries
Utility
Enabler 1
Enabler 2
External
data
Communication/other services
Trademark
Figure 5.
Role of SCF components.
Real time/operational
interfaces
FD
SCF
Service
component
Service
component
SMP
R&A
Policy
component
Enabler
component
Utility
component
Internal
resource
Utility
component
Policy
component
Enabler
component
Enabler
component
Protected network/interfaces
FDFront Door
R&AReporting and analytics
Figure 6.
Component architecture within the SCF.
DOI: 10.1002/bltj
179
Conguration
Fault/state
management
Reporting
Deployment/
initialization
Alcatel-Lucent or external
developer software
Alcatel-Lucent proprietary
infrastructure additions
Figure 7.
Component code and supporting infrastructure in the Service Composition Framework (SCF).
180
DOI: 10.1002/bltj
Common context data schema. Application, campaign, partner, feature and API context data can
be stored in a common database table. This provides a way to congure context data accessible
by any SCF component.
Component control interface. This provides a common API accessible from the JMX agent to install/
uninstall a components OSGi bundles in
ServiceMix to create/delete a component instance.
Camel route conguration. Builds Camel routes
when context data is updated.
Base classes. SCF component infrastructure classes
can be inherited to create service, enabler, policy
and utility component instances.
Fault management framework. Contains infrastructure classes that components can use to raise/
clear alarms and send informational notications
(non-alarm related free text).
Data access classes. SCF infrastructure classes provide component access to data in the MySQL*
[15] cluster database.
Graphical composition support. Supports jBoss
Business Process Management (jBPM*) work
item handlers (described in a later section).
Service components. As indicated in Figure 5 and
Figure 6, service components present a northbound
interface for real time transactions. These northbound interfaces may be any Internet Protocol (IP)
DOI: 10.1002/bltj
181
182
DOI: 10.1002/bltj
deployment is backed out leaving the SCF in its original state. Thus, any failure in the deployment of a
deployment group results in the entire deployment
group being backed out.
The same OSGi bundle for an SCF component
can be used to create and deploy identical instances
of the component on different SCF nodes or even on
the same SCF node. Reasons for deploying identical
instances of the same component on the same SCF
node include load sharing and basic redundancy.
Components can have multiple instances that
are congured differently as well. Different instances
of the same SCF component execute identical software, but they can be made to behave differently
based on the different kinds of context data congured
for them.
Conguration of SCF Components
The conguration of SCF components, now
deployed, is also through the FD. The process of supplying data for an SCF component in order for the
component to be congured properly and operate
in the desired manner is also referred to as provisioning the component. This data is known within the
SCF as context data.
The FD communicates, via the associated provisioning engine, with the JMX agent to provision context data for an SCF component. Note that context
data are provisioned for a component while that
component is up and running on the SCF, meaning
that the component does not have to be stopped or
undeployed to provision context data for it.
All context data for an SCF component is provisioned via FD using an XForms-based interface.
When the XForm is submitted at the FD, an XML
document is created and the FD sends the XML document to the JMX agent on the appropriate SCF. The
JMX agent then sends the context data to the target
component for validation and processing.
All components must implement customized
context data change listeners to allow for validation
and processing of dynamic changes to their associated context data. A components context data handler makes appropriate changes within the component
based on how the handler is programmed to do so.
DOI: 10.1002/bltj
183
Table I.
Description
Global
PerDeployment
PerPartner
PerCampaign
PerApplication
PerComponent
PerAPI
PerComponentPerPartner
PerComponentPerCampaign
PerComponentPerApplication
184
DOI: 10.1002/bltj
System
monitor
Provisioning
engine
SMP
SNMP
daemon
Other MIB
support
Monitors ServiceMix,
jmxAgent and other
processes. Raises
alarms if needed.
SNMP
Traps
JMX agent
JVM
ServiceMix JVM
SNMP
adapter
JMX RMI
connector
MBean
server
MIB table
MBean
MBean
MBean
Component
manager
MO MBean
MO MBean
Registered
MBean
MBean
Features
service
MBean
Alarm
manager
Deploy features and
create component
instances via JMX
RMI
Component
control port
MBean
State
manager
Figure 8.
SCF management architecture.
DOI: 10.1002/bltj
185
Top
AES
ManagedElement
SCF
PolicyComponent
Alarmable
Monitor
ActiveMonitor
ScfSysMonitor
FPMonitor
Policy
PolicyComponentThrottle
LogicalGroup
Agent
Resource
Service
QosControlService
ScfAgent
EnablerLocation
ThrottlePolicy
EnablerMMS
AuditMgr
EnablerNetworkQOS
EnablerScfDB
SvcMonitor
EnablerSMS
EnablerTDR
EnablerWAP
EnablerMCR
ServiceComponentQosControl
MonitorScfLB
ServiceComponentPing
EnablerSDCS[1]
LocationResource
PingService
MmsResource
NetworkQosResource
ScfDbResource
SmsResource
WapResource
ScfLBResource
SDCSResource[1]
Figure 9.
SCF managed object inheritance hierarchy.
186
DOI: 10.1002/bltj
(CPU), and memory utilization data. The SNMP daemon is congured to also support certain third-party
MIBs to access ServiceMix JVM data and for hardware monitoring.
An SNMP adaptor server allows the JMX agent
to handle SNMP requests. An SCF MIB denes the
objects that can be accessed via SNMP. The SCF MIB
consists of a state table and alarm table. A subset of
each components managed object data is exposed
via the state table and is accessible via SNMP. This is
used by the SMP to monitor and display the components states. The alarm table contains a list of active
alarms, and each entry contains alarm attributes
such as alarm type, probable cause, specic problem,
severity, and additional free text. The state and alarm
table entries include a distinguished name (DN)
which uniquely identies an SCF component.
DOI: 10.1002/bltj
187
Figure 10.
Service composition in Eclipse using the SCF component libraries.
188
DOI: 10.1002/bltj
Figure 11.
Graphical service composition using the SCF DSL.
DOI: 10.1002/bltj
189
Figure 12.
Non-Eclipse based SCF tools.
190
DOI: 10.1002/bltj
Figure 13.
Graphical service composition using the SCF DSL.
DOI: 10.1002/bltj
191
Acknowledgements
The authors would like to acknowledge the associated work of Ransom Murphy, a chief OAP architect, and Troy Echols, for work on the SCF roadmap.
[10]
*Trademarks
ActiveMQ, Camel, CXF, Karaf, OpenJPA, and ServiceMix
are trademarks of The Apache Software Foundation.
Drools is a registered trademark of Red Hat, Inc.
Eclipse is a trademark of the Eclipse Foundation.
iPhone is a registered trademark of Apple Inc.
Java, JavaScript, and JMX are trademarks of Sun
Microsystems, Inc.
jBPM is a registered trademark of Red Hat, Inc.
JVM is a trademark of Oracle America, Inc.
Linux is a trademark of Linus Torvalds.
MySQL is a registered trademark of MySQL AB.
OSGi is a trademark of the OSGi Alliance.
References
[1] 3rd Generation Partnership Project, Parlay X
Web Services Part 6: Payment, 3GPP TS
29.199-06, <http://www.3gpp.org/ftp/Specs/
html-info/29199-06.htm>.
[2] C. Albanesius, Verizon Customer Growth
Slows, iPhone Helps Boost AT&T, PCMag.
com, Oct. 22, 2010, <http://www.pcmag.com/
article2/0,2817,2371287,00.asp>.
[3] Apache, ServiceMix, <http://servicemix
.apache.org/home.html>.
[4] Apache Software Foundation, OpenJPA:
Welcome to the Apache OpenJPA Project,
<http://openjpa.apache.org/>.
[5] J. A. Brunetti, K. Chakrabarti, A. M. IonescuGraff, R. Nagarajan, and D. Sun, Open
Network Quality of Service and Bandwidth
Control: Use Cases, Technical Architecture,
and Business Models, Bell Labs Tech. J.,
16:2 (2011), 133152.
[6] I. Faynberg, H.-L. Lu, and H. Ristock, On
Dynamic Access Control in Web 2.0 and
Beyond: Trends and Technologies, Bell Labs
Tech. J., 16:2 (2011), 199218.
[7] A. Greenwald, G. Hampel, C. Phadke, and V.
Poosala, An Economically Viable Solution to
Geofencing for Mass-Market Applications,
Bell Labs Tech. J., 16:2 (2011), 2138.
[8] International Telegraph and Telephone
Consultative Committee, State Management
Function, CCITT Rec. X.731, Jan. 1992,
<http://www.itu.int>.
[9] International Telegraph and Telephone
Consultative Committee, Alarm Reporting
192
DOI: 10.1002/bltj
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
DOI: 10.1002/bltj
193