Professional Documents
Culture Documents
Realizing Distributed Intelligent Networks Based On Distributed Object and Mobile Agent Technolgies
Realizing Distributed Intelligent Networks Based On Distributed Object and Mobile Agent Technolgies
1 Introduction
The Intelligent Network (IN) approach for providing advanced services to end users
aims primarily at minimizing changes in network nodes by locating all “service-
related” (and thus likely to change) functionality in dedicated “IN-servers”, named as
“Service Control Points” (SCPs) [1], [2]. These servers are in a sense “external” to the
core network which in this way needs to comprise only a more or less rudimentary
switching functionality and the ability to recognize IN call requests and route them to
the specialized SCPs. Since the time of its standardization by ITU-T [3], IN has
become the default way for telecom operators to enhance the ability of their core
network to provide value added services to their customers in a cost effective manner.
In this paper we are considering the use of distributed processing technologies such
as CORBA (Common Object Request Broker Architecture), DCOM (Distributed
Component Object Model) and RMI (Remote Method Invocation) along with mobile
code ones in order to enhance IN’s potential. We are mainly focusing on issues
concerning the design and implementation of an IN architecture that would be more
flexible, distributed and facilitating object oriented service creation and efficient
services life cycle management.
2 Applying New Software Technologies in Intelligent Network
Before going on into describing the actual architecture, a more abstract and general
discussion containing some of our experiences and issues emerging when applying
novel software technologies in the context of IN precede. Specifically, the impact of
the introduction of well known distributed object practices (such as CORBA [4]) and
more radical solutions (such as Mobile Code [5]) are discussed.
1
Implementation transparency however is a functional enhancement.
3 Realizing Distributed IN Systems
Based on the considerations of the previous section, the physical entities of the
proposed architecture extend the traditional capabilities of the Service Control Points
and the Service Switching Points. They are both required to adopt the following
extensions:
Within our reference configuration, these systems are named Service Execution
Nodes (SENs) and Broadband Service Switching and Control Points (B-SS&CPs)
respectively. Figure 1 presents the reference configuration [8], [9].
SEN SCF SRF SMS Repository
CC Wrapper
Messaging Naming
Call Service Service
GW
AEE Control AEE
BEARER SIGNALING
CORBA BUS
TCAP
Traditional
SSF AM
SSP
AEE
SSF SSF
Call
CUSF CCF CUSF CCF Control
SCF
Application
The Service Execution Node is derived from the integration of the B-SCP and the B-
IP [10]. Additionally CORBA and a Mobile Agent platform are introduced which
together play a key role in the service provision.
The SEN initially enables the switch to access the IN agent-based services and
provides an environment to locally execute the stationary or mobile agents that
compose the services in case this can result in performance gains.
It comprises the Service Control and Data (SCF/SDF), Mobility Service Control
and Data (SCF/SDF), Specialized Resources (SRF), and Call Control Agent (CCAF)
functions. The potential introduced by the introduction of distributed object and
mobile code technologies is best exemplified when considering migration operations.
The service logic programs are deployed as stationary or mobile agents and the
latter can be distributed and executed among different physical entities. The
architecture is open enough to allow for the use of SLPs implemented in a native
language if stringent performance requirements are to be met. In the latter case the
SLPs are stationary objects. An important property that is maintained with the
imposition of various access points within the architecture is that the SCF cannot tell
if it is interacted with a natively compiled SLP or a Java-based mobile code one. In
fact the SCF is oblivious to the actual location of the SLP with which it communicates
since the logic responsible for locating, accessing or downloading the SLPs is
orthogonal with respect to the core SCF functionality. Several B-SS&CPs, some of
which may generate a high number of service requests and consequently a high
processing and communication load, can concurrently access a service in a SEN. A
possible migration of the appropriate agents can improve network performance.
Agent migration is also employed to support mobility management procedures, for
example location registration/deregistration, user registration/deregistration, local
authentication processing and so on. In these cases the mobile agents are more passive
objects representing mobility management data and simply offer appropriate methods
for accessing or modifying these data.
Objects and Agents within SEN. The object model of the SEN considers three major
parts. The fist parts contain the objects for the interaction of SEN with the B-SS&CP.
The second part contains the core of the Service Logic and the third part contains the
objects responsible for the SEN to user interaction. Figure 2 reports a high level view
of the SEN architecture.
SLP
<<CORBA>>
<<CORBA>> <<CORBA>>
<<CORBA>> <<Native>>
SSF Access Manager
SLM mobile part
<<Native>>
<<CORBA>>
<<INAP>>
CORBA-based SSF
INAP-based SSF
The SSF Access Manager is the SEN’s gateway object. All SSF-SCF interaction is
passing through this object. When the system is bootstrapped SSF needs only obtain a
CORBA reference at the SSF Access Manager. Technically it consists of two
CORBA servers one for the SCF side (supporting SCF-initiated information flows)
and one for the SSF side (for the SSF-initiated ones). The INAP information flows
have been mapped into equivalent method invocations so for instance the SCF side
interface contains such methods as “DropParty”, “RequestReportSSMChange” and
so on.
The Service Logic Manager (SLM) is the core SCF entity. It is responsible for
locating the SLPs for each particular service that is requested and for initiating
migration procedures either triggered by the management system or by the migration
criteria that are applied. The SLM is however not aware of any service-level details of
the SLPs it manages. All its volatile data are embodied in its mobile part, which is
created at the network management center and migrates on the SCF in order to attach
to the stationary part. Since the interaction between the stationary and the mobile part
is very intense, for performance reasons the interface between them is not based on
CORBA but on Java. So these two objects hold direct pointers to each other allowing
native method invocations between them. A similar approach has been adopted for all
other mobile-stationary part pairs.
The SEN, as far as UNI signaling is concerned, is viewed as a terminal. The Call
Control Agent Function (CCAF), being the user side of the UNI signaling, provides
access to the network resources. It interfaces with the CCF, which resides in the
switch, and can either establish a new connection or accept an incoming one. The user
invokes an IN service and afterwards the Service Logic connects the user terminal to
the SEN, in order to elicit user input. Further service execution is significantly based
on this info.
The CCAF Wrapper, being a CORBA server, provides a CORBA interface to the
signaling stack wrapping the call control functionality. This functionality is
implemented in native code and can be viewed as a legacy component. This interface
can provide a flexible way to establish new connections, to modify existing ones, to
retrieve the total number or specific characteristics of each of the active ones. The
CCAF Wrapper basically resolves each active session, based on a unique sessionID,
to the connection. For this purpose the SessionId parameter is used to retrieve the
VPI/VCI values (in the case of an underlying ATM broadband network) associated to
a User-Plane connection. The SessionId is included in the Broadband High Layer
Information (BHLI) information element of the Q.2931 SETUP message sent from
the B-SS&CP (CCF) to the SEN (CCAF) [11].
The Specialised Resource Manager is a “hub” for containing volatile service and
user related info. It can be used to contain user subscription and authentication
information, information about available services, about service providers (e.g. video
servers for the Information Retrieval service) or about FTP servers that host content
raw data. The entire body of information contained in the Specialised Resource
Manager is populated in the form of mobile objects that are dispatched there by the
management center. An agent encapsulating content descriptive attributes (such as the
location of the content server or the category that this new content should appear to
user terminals) will be created at the management center. Then it will be instructed to
migrate to the Specialized Resource Manager premises where using the Region
Registry’s facilities he will attach natively to it (perhaps replacing in the process
obsolete information). After this attachment has taken place, new users connected to
the SRF and browsing through its catalogues for movies will find that movie available
for selection.
The User Interaction Manager (UIM) intermediates between the SLPs and the
basic functionality of the IP. Exactly like the Service Logic Manager and the SSF
Access Manager are the SLPs’ “connectivity” mediators to the SSF (and vice versa),
the UIM is the SLPs’ mediator to the SRF. The interface between the SLPs and the
User Interaction Manager is also based on CORBA. In this way all SLP references to
their environment as well as the environment’s references to the SLPs are distributed
allowing location transparent communication to take place. Belonging to the SCF, the
UIM models the way the user interacts with the system for service selection and
content preview/selection. It offers service-specific user interaction functionality. This
functionality is implemented by the Resource Logic Programs (RLP). The RLPs
contain the logic and processing capability to receive and send user information and
convert information received from users.
Each RLP is activated by the UIM after it has been invoked by the service logic
and when the connection between the terminal equipment and the IP has been
established. The RLP resumes the control of the service session for handling an user-
plane connection. While the RLP can actually use the established ATM connection,
only if it knows the corresponding VPI/VCI pair, the service logic is aware only of
the pertinent SessionId. This SessionID is sent to the CC signaling stack in the
SETUP message.
To provide service specific functionality, there should be one to one
correspondence between the RLPs and the available services. Taking as an example
the Interactive Multimedia Retrieval (IMR) service, the pertinent RLP is responsible
for verifying which sub-service interests the user (e.g. video on demand, music on
demand, news on demand) and enabling him to preview content from a variety of
service providers. When the user interaction ends, the SLP retrieves the result (i.e.
kind of sub-service, chosen service provider) and, after processing it (e.g. retrieving
the physical address of the SP), instructs the establishment of one or possibly more
physical connections between the user and the appropriate SP.
At last but not least, the user interaction is not restricted to service specific context.
The SRF can offer service-independent functionality, as well. This can include the
authentication and the authorization of a user, the registration and de-registration for
services and, in general, the interrogation and modification of the user profile. An
alternative way to perform these operations is via the Call Unrelated Signaling
Function (CUSF) implemented in the TE and interfacing with the CCF. However this
way presupposes that the TE supports additional signaling stacks (Q.2932 in the
broadband case) and that the corresponding information is encoded in “facility”
Information Elements (IE) of the signaling messages. These IE are afterwards
decoded by the service logic. Furthermore the updating/enhancement of the available
user interaction scenarios when they are implemented via the SRF seems to be more
flexible and user-friendly. In such case the Specialized Resources Manager is
populated not only by agents bearing SP specific information but also user-specific in
order to render more efficient the execution of the above mentioned operations. This
way checking and updating profile, registering, authentication, authorizing can be
provided locally in the IP.
The implementation of RLPs is static. Another approach could be the
implementation of the RLPs as a combination of static and mobile parts. The mobile
service-dependent parts could migrate to the IP from a management center. This way
the functionality of generic IPs, offering a service-neutral API, employed for playing
announcements and collecting user info, could be enhanced and be service specific.
Furthermore these mobile parts could migrate to the TE, however, the inevitable
necessary enhancements of the TE software platform may overpower the potential
added flexibility.
4 Conclusions
References