A Development Environment of TMN Agent Platform by ps94506


									      A Development Environment of TMN Agent
                                         JAE-OH LEE

     Department of Computer Engineering, School of Information Technology
            Korea University of Technology and Education, Korea

Abstract. Java technology is an emerging one to deploy the architecture of network management.
Thus we have designed and implemented a TMN-based agent platform using Java technology [1].
This enables a developed agent system to inherit the merits of Java technology. In this paper, the
framework of this platform is overviewed for the feasibility of an agent system and some
automatic tools are introduced for building an agent system easily. And lastly, there is the
description of the agent tester system that is used to test agent systems by importing the script
definition of CMIP primitives.

1. Introduction

As many Java applications are deployed in the real system, Java based network
management is one of the emerging areas for various technology parts. According
to the TMN principles, there is another aspect to note. This one involves the
creation of a technology-independent Open Distributed Management Architecture
(ODMA) defined in terms of Open Distributed Processing (ODP) concepts. The
TMN itself may be viewed as an ODP system. Next generation network services
will be assembled on the fly in a plug-and-play fashion, which drastically reduces
the time and efforts to develop services. New network technologies are being
assembled at a fast and require dedicated network management support. In order
to keep the pace with the benefits of these new offerings, network management
software tools must provide short learning time requirements. In addition, network
management development tools should provide for Rapid Application
Development (RAD), so that the benefit of a technology is reaped before the next
and more powerful technology replaces it.
     Many organizations are currently developing standards for distributed
management. The TeleManagement Forum (TMF)’s SMART working group is
addressing standards related specifically to service management. The Web-Based
Enterprise Management (WBEM) paradigm aims at specifying a new protocol,
namely Hypermedia Transport Protocol (HMTP). All of these distributed
management approaches demonstrate the variety of management interfaces, which
are being used, and will be used, for distributed systems management [1, 18].
     Of management protocols, CMIP and SNMP are the dominant ones which
have been used to exchange management messages to manage element and
network resources, while object-oriented middlewares such as CORBA[8] and
Java RMI [5] are considered to be valid candidates for service and business
management. In recent, CORBA interface can be provided by many agent systems
for providing the uniform interface to the external controllers, but it has its own
interface definition.
     New Graphical User Interface (GUI) architectures can support the Java-based
approach for service and business management. Application of the intelligent
agent paradigm, which allows the dynamic and remote delegation of tasks to
appropriate management entities, offers a higher potential for distribution and
flexibility. This enables the cooperative interworking among agents for solving
the problems related to network management. Therefore, the agent framework
with the capability to adapt to multiple management interfaces is very important
from the viewpoints of network management modeling.
     In this paper, we describe the design and implementation of an agent platform
based on TMN in Java development environment. The components of agent
platform are presented in section 2. The tools for build TMN agent system are
described in section 3. The key components of agent system and agent tester are
identified in section 4. Finally, in section 5, we summarize the paper.

2. The Components of Agent Platform

In this section, we describe the basic components for constructing the agent
platform. They might include management proctol, management function, and
management information. This platform is designed in the basis of TMN concept
and the management messages are represented as Java objects. This platforme
must be able to satisfy the network and system management requirements of
today’s network environments: scalability, extensibility and interoperability. From
the perspectives of management roles, the developed agent system might be
represented as both the agent role for providing standard interfaces and the
manager role for providing an interface which agent system provides.
     The followings are the aims of this platform to develope the TMN-based
agent system such as:
     Network Management Service Portability: − Write Once, Run Anywhere.
     Technology development is currently constrained by proprietary management
     services. This increases development cost, time to market, and maintenance
     requirements. With Java technologies, management services are reusable and
     deliverable to be components for the management service.
     Network Convergence: (Integrated Networks) − Any Network. By delivering
     the facility to allow management applications and services to manage a
     variety of networks such as PSTN, packet (e.g. IP or ATM) and wireless
     networks, the agent platform speeds network management applications. As
     demand for services over IP rises, new economies of scale are possible as
     well as more efficient management and greater integration with IT.
     Secure Network Access (Java TMN) − By Anyone! By enabling applications
     residing outside the network to directly access network resources and devices
     to carry out specific actions or functions, a new environment is created for
     developers and users. The market opportunity for new services is huge when
     controlled access is provided to the available functionality and intelligence
     inside the telecommunications networks through agent system.

2.1 Management Protocol Component

In order to follow the TMN architecture, it is very desirable to design the
framework of the management platform using Java technologies, which focus on
the CMIP-based management interface and information model. As depicted in
Figure 1, CMIP/CMIS Java object has some methods. They include the service
primitives for the basic management messages defined in CMIP. In addition, the
Java objects and their related methods are used to support the associations,
channel bindings, which are set up between manager system and agent system.

                                                          M an agem en t
                                                          I n f o r m a tio n

                                                          J a v a A S N .1 /
            Java M an ager                                Java G D M O                                 Java A gent

                                                       C M I P J a v a O b jec t

        C r ea te   D e le t e    E v en tR ep o r t      L in k e d R e p ly       G et   C a n c e lG e t   S et   A c t io n

                                                   C M I S S e r v ic e E r r o r

                                                          X O M /X M P

                                                              C M IP

                                        Figure 1. CMIP/CMIS Java Object
     As it includes some Java objects for CMIP operations and CMIP service
errors, the developer who can use Java language might make the implementation
of management functions and management services. Also, it can support the
functionality of multiple replies (i.e., scoping, filtering, synchronization), which
are performed by LinkedReply. Table 1 indicates major methods defined in the
CMIP Java object for CMIP-based management communication.
                                 Table 1. Major Methods in CMIP Java Object
       Java Methods                                                       Description
 XMP_(NA)Initialize                             The non-automatic/automatic initialization of Association
                                                Control Service Element (ACSE) information
 XMP_SetLocal/RemoteAddress                     The setting of the self/opposite OSI address
 XMP_CreateContextWithAETitle                   The creation of a management context with AE-title (i.e., the
                                                opposite AE-title)
 XMP_CreateSessionWithAETitle                   The creation of wanted session with AE-title (i.e., the self
 XMP_Connect                                    The execution of ACSE connect operation
 XMP_Disconnect                                 The execution of ACSE disconnect operation
 XMP_(Milli)TimeOut                             The time out value of management operation in a
                                                second/milli-second unit
 XMP_WaitReceive                                The waiting and receiving event report message and
                                                management response message
 XMP_AssociationReq/Rsp                         The operation of M-ASSOCIATE request/response
 XMP_ReleaseReq/Rsp                             The operation of M-RELEASE request/response
 XMP_AbortReq                                   The operation of M-ABORT request
 XMP_xxxxArgumentReq                            The operation of M-xxxx request in asynchronous mode
 XMP_xxxxResultRsp                              The operation of M-xxxx response
 XMP_xxxxOperation                              The operation of M-xxxx request in synchronous mode
 XMP_LinkedReplyRsp                             The operation of M-LINKED-REPLY response
     The management communication is composed of the Java objects combined
in the native methods using the communication library interfacing with CMIP
(e.g., XOM/XMP). The management messages between management application
entities are exchanged by the support of management communication objects.
Figure 1 describes the structure of management communication that provides the
CMIP interface in the Java development environment using Java Native Interface
(JNI) facility[6]. We made the use of the XOM/XMP API which has been
prevalently used for CMIP interface [12]. It provides the specification that
manipulates the CMIP ASN.1 and transfers the CMIP messages. In addition, there
are other methods for CMIP exception handling (e.g., NoSuchObjectInstance,
NoSuchAttribute, etc.) which are used by management entity and represented for
the reason of management operation. All of the results of CMIP operations are
represented as a CMIPPrimitive Java object. This data type indicates whether or
management operation was successful, plus the error code if the invocation of this
operation was not successful.

2.2 Management Functional Components

The components of agent body are classified into five parts such as agent factory,
management factory, MIT node, resource interfaces and the support management
function/service. Figure 2 shows the relationship between the major components
provided in agent platform[1,12] and the tools to automatically generate a variety
of interfaces and templates.
     F ra m ew o rk
                              M anagem ent Factory                                        M IT node                              M ana g em ent F un ctio n/
                                                                                                                                 S ervice
        A gent F actory

                                    C reateM O C Instance
                                     D eleteM O C Insta nce
                                       G etM O C Instance                                                                           O b ject M ana g em et
                                       S etM O C Intan ce                                                                          E vent M anag em ent
                                                                                                        N od eH eader                L og M anag em ent
                                     A ction M O C Instance
                                    E ventR portO p eratio n                                                                      M on itoring& R ep orting
                                    C ancelG etO peratio n                                                                              M ana g em ent

                                                                                             R esourceO p eratio n

     S u p p ort T o o ls                            ge n A la rm                         C rea te Process ing.
                                                                                                                        ge nM O C I
                                                                                             ja v a te m plate
                                                                                                                        A ge nt/M a nage r      (e)a 2 j/
                                                         A la rm
                                                                                                                           x xxx.ja v a         (e)g2 j
                                                    P ropa gatio n.

                                                                                                                                                               G D M O /A SN Java O bject
     ge n A gent           ge nO M C                                                      D e le te Proces sing.           tem pla te
                                                          ja v a                             ja v a te m plate
                                                       tem pla te
                                                                      ge nP roce s sing

                                                                                                                     M edia tio n
      A ge nt.                OM C.                                                        G e tP roce ssing.         D evice     JD B C
       ja v a                 ja v a                                                        ja v a te m plate        interface interface     ge nD efa ult
     tem pla te             tem pla te               ge nN am ing
                                                                                           S etP roces sing.                                   D e fa ult
                                                                                            ja v a te m plate             ge nO M C            V alue .
                                                      N a m ing.                                                                                 ja v a
                                                         ja v a                                                              MD.              tem pla te
                                                      tem pla te                          Actio nP roce s sing.              ja v a
                                                                                            ja v a te m plate              tem pla te

                          Figure 2. The relationship of Agent Framework and support tools
    Agent Factory: This component is used to process the CMISE primitives
    including the primitives related to ACSE. The ACSE primitives are sent to
    the callback method defined as Association Java interface to take
    management operations requested from manager system. The usual CMIP
    primitives, sent from the manager system, are posted into the CMIP message
    queue to be delivered to the management factory. The developer can use two
    methods for automatic and non-automatic binding to the other management
    system. If one wants to bind to the other management system using non-
    automatic ACSE functionality, the template of agent system can be generated
    using the provisioned tool, genAgent. The generated Java class has a method
    named with ACSEBinding and can implements Association interface class.
    Management Factory: It provides the validation and supplement activity of
    management operations (i.e., CMIPPrimitive) sent from the external
    management system and invoked form the agent system itself. In this agent
    platform, we use the local management operations like the remote
    management operations by agent system, which invokes the method defined
    in this component. If any exceptions are not occurred, the management
    operation is passed to the MIT node component to perform the processing of
    management information.
    MIT node: It has the managed resource information and is constructed on the
    basis of NodeHeader object. Also, it maintains a containment tree and
    supports the interface for managed real resource. The structure of
    NodeHeader is based on directory service and depicted in [1]. The
    management information is maintained by MITnode object after an instance
    of management factory has obtained the result of management operation on
    the real resource(s). The maintenance facility of the MIT provides create,
    delete, set attribute, get attribute, search, object identifier conversion, and
    similar operations.
    Resource interface: This component supplies the real information for the
    management operation to specified resource as a form of attribute list. A
    variety of interfaces are used and made by the user with the aid of the tool,
    which generates the template of Managed Object Class Instance (MOCI). The
    interface depends on the one, which the real managed resource can provide.
    The candidates ones are SNMP, Socket, CORBA and so on.
    Support management function/service: It includes Java objects for the
    support management function/service, which is associated with logging, event
    filtering, and performance monitoring. The basic service of performance
    management can be provisioned with Scanner object, which performs
    performance data reporting and controls event reporting.

    The received CMIPPrivmitve is stored into the CMIP message queue in
Agent Factory and passed to the Management Factory to perform the management
operation to real resource and MIT node.

2.3 Meta-data of Management Information

Meta-programming is a term given to a collection of technologies designed to
improve software adaptability by decoupling application behaviour from the
various cross-cutting aspects and resources used by application [11]. In languages
that support meta-programming natively, base objects can interact with their
meta-objects to realize object behaviours. For example, the newInstance method
in Java’s Class creates a new instance of an object. All management information,
which is derived from GDMO, is represented as a set of Java objects, which are
automatically generated by “Enhanced GDMO to Java (eg2j)” [1]. A GDMO
class is therefore a factory that determines what type of object it creates and
developes the object’s behaviour accordingly.
     In this platform, a variety of produced templates are directly derived from the
Java classes that are generated from GDMO and produced by Java compiler.
These are used to provide the meta-data of managed object class definition. Java
cannot provide the multiple inheritances, one of object-oriented characteristics.
Whereas GDMO permits multiple inheritances. So, this difference must be
overcom in the generated Java GDMO class definition. We made GDMO Java
class to have some static member declaration for the superior GDMO object
whithout the redefinition of interface Java class. But it is very difficult for the user
to develop. The tracing of attributes defined in MOC with having a multiple
inheritance is very tedious. The tool, genMOCI, provides all of possible attributes
to the user without duplicate one. Also, we have made it to provide the relational
DB using JDBC [3] from the GDMO. So, meta-data related to GDMO is very
desirable to offer the flexibility of use of GDMO to produce the transformation of
management information into a variety of formats like XML.
    Figure 3 shows an example of meta-data informatin obtained from GDMO
Java object.
                                                                                                                Cla ss::M O Clog, S uperior M O C:: M O Ctop
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : ATlo gId,{ .7 .2 }]
                                                                                                                G E T , Q ualifier: EQ U ALIT Y ,S U B S TR I N G S ,- m an d,n iv- n dv]
      lo g      M AN AG E D O B JE CT CL AS S DE R IV ED F R O M            to p;
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : ATdis crim in a torC ons truc t,
                                                                                                                {2 .9 .3 .2 .7 .56} ]G ET- R E PL ACE , Q ua lifier: N o Q u alifier-m an d,n iv- n dv ]
      lo gP a cka ge                P AC K AG E
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : ATa d m in istra tiveS ta te,
      B E H AVIO U R
                                                                                                                {2 .9 .3 .2 .7 .31} ]G ET- R E PL ACE , Q ua lifier: E Q U ALIT Y ,- m an d,n iv- n dv]
      lo gB e ha vio ur             B E H AVIO U R
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : ATo pera tion alS ta te,
      DE FIN E D A S "… .";;
                                                                                                                {2 .9 .3 .2 .7 .35} ]G ET , Q ua lifier: E Q U AL IT Y,- m an d,n iv- n dv ]
      ATT R IB U T ES                                                                          E G 2J           [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : ATa va ilability S tatus,
      lo gId                            GET,
                                                                                                                {2 .9 .3 .2 .7 .33} ]G ET , Q ua lifier: E Q U AL IT Y, S E T_C O M PA R IS O N ,S
      discrim in ator Con stru ct G E T- R E PL ACE ,
                                                                                                                E T_ IN TE R S E CTIO N ,- m an d,n iv- n dv]
      adm in istra tiveS ta te               G E T - R E PL ACE ,
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : ATlo gF ullA ction ,{ .7 .58}]
      opera tiona lS ta te
      av aila bilityS ta tus
                                   P E R M IT T ED VAL U E S
                                                                                                    Java        G E T -R E PL ACE , Q ua lifier: EQ U ALIT Y ,- m an d,n iv- n dv]
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : N T obje ctCre a tion ,
                       Attribute- A S N 1M o dule.L og Availability
                       R E Q U IR E D V AL U E S
                                                                                                    O bject     {2 .9 .3 .2 .1 0 .6} :IN F O R M ATIO N _S Y N TAX ]N O -DE FIN E D, Q ualifier: N o Q u alifier- n a,n iv-n dv]
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : N T obje ctDeletion,{ .1 0.7}
                       Attribute- A S N 1M o dule. U n s cheduledL og Availability
                                                                                                                :IN FO R M AT IO N _ SY N T A X] N O - DE FIN E D, Q ualifier: N o Q u alifier- n a,n iv-n dv ]
                       G ET ,
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : N T a ttrib u te Va lueC han ge,
      lo gF u llAc tion            G E T -R E PL ACE ;
                                                                                                                {2 .9 .3 .2 .1 0 .1} :IN F O R M ATIO N _S Y N TAX ]N O -DE FIN E D, Q ualifier: N o Q u alifier- n a,n iv-n dv]
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : N T sta te C han ge ,
      obje ctCrea tion ,o bjectDe letion,attribu teVa lueC h an ge,sta te Ch an ge,
                                                                                                                {2 .9 .3 .2 .1 0 .14 }:IN F O R M AT IO N _S YN T AX ]N O - DE FIN E D, Q u alifier: N oQ ua lifier-n a,n iv-
      pro ce ssingE rror Ala rm ;;;
                                                                                                                n dv]
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : N T pro ce ssin gError Ala rm ,
      finiteL ogSizeP a cka g e         P A CK AG E
                                                                                                                {2 .9 .3 .2 .1 0 . 1 0 }:IN FO RM ATIO N _S Y N T AX ]N O -DE FIN E D, Q u alifier: N oQ ua lifier- n a,n iv-
      ATT R IB U T ES
                                                                                                                n dv]
      m axL og S ize                 G E T - R E PL ACE ,
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : ATo bjec tCla s s ,{ .7 .6 5}]
      curr en tL o gS ize G E T ,
                                                                                                                G E T , Q ualifier: EQ U ALIT Y ,- m an d,n iv- n dv]
      n um b erO fR ecords G E T ;
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : ATn am eB indin g,{ .7 .63}]
      R E G IS T ER E D AS
                                                                                                                G E T , Q ualifier: EQ U ALIT Y ,- m an d,n iv- n dv]
       {join t-iso- ccitt(2) m s (9 ) sm i(3) p a rt2 (2) pa cka ge (4) 1 2} ;
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : ATm a xLo gSize,{ .7.6 2}]
      P R ES E N T IF "a n ins tan c e s up p orts it",
                                                                                                                G E T -R E PL ACE , Q ua lifier: EQ U ALIT Y ,O R DER I N G ,- opt,n iv- n dv]
      lo gAla rm P a cka ge P A CK AG E
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : ATc urre ntL og Size,{ }]
      ATT R IB U T ES
                                                                                                                G E T , Q ualifier: EQ U ALIT Y ,O R DER IN G ,- o pt,n iv- n dv ]
      ca pa cityAla rm T hre s ho ld G E T - R E PL ACE           A DD- R E M O VE ;
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e: ATn um berO f R ecor ds,{ .7.6 4}]
      R E G IS T ER E D AS
                                                                                                                G E T , Q ualifier: EQ U ALIT Y ,O R DER IN G ,- o pt,n iv- n dv ]
      {join t- iso- ccitt(2) m s (9 ) sm i(3) p a rt2 (2) pa cka ge(4) 1 3} ;
      P R ES E N T IF “… . ",                                                                  GDM O            [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : ATca pa city Alarm T hres hold,
                                                                                                                {2 .9 .3 .2 .7 .52} ]G ET- ADD- R E M O VE - R E PL A CE ,
      av aila bilityS ta tus P a cka ge P R E SE N T IF “… .",
      dur ation P R E S EN T IF “… .",                                                         M eta O bjec t   Q ua lifier: E Q U ALITY ,S E T _CO M P A R IS O N , S ET _IN T E R SE CT IO N ,- opt,n iv- n dv]
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : ATs ta rtT im e,{ .7 .68}]
      dailyS c hed ulin g P R E SE N T IF “… . ",
      w eekly S ched ulin P R ES E N T IF “… .",                                               H andler         G E T -R E PL ACE , Q ua lifier: EQ U ALIT Y ,O R DER I N G ,- opt,n iv- n dv]
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : ATs to pT im e,{ .7.6 9}]
      ex tern alS che duler P R ES E N T IF “… .";
                                                                                                                G E T -R epla ceW ith Defa ult-R E PL ACE , Q ua lifier: E Q U ALIT Y ,O R DE R IN G ,- opt,n iv- dv]
      R E G IS T ER E D AS
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : ATinterv alsO fDa y,{ .7 .5 7}]
      {join t- iso- ccitt(2) m s (9 ) sm i(3) p a rt2 (2) m an ag edO bjec tC la s s(3) 6 };
                                                                                                                G E T -ADD- R E M O VE - R e pla ceW ith Defa ult- R E PL ACE , Q ua lifier: N oQ ua lifier- opt,n iv- dv]
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : ATw eek M a sk,{ .7.7 1}]
                                                                                                                G E T -ADD- R E M O VE - R e pla ceW ith Defa ult- R E PL ACE , Q ua lifier: E Q U ALIT Y ,- opt,n iv -dv]
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e: ATs ch ed ul erN am e,{ .7 .67 }]
                                                                                                                G E T , Q ualifier: EQ U ALIT Y ,- o pt,n iv- n dv]
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : ATpa cka ge s,{ .7 .6 6}] GE T,
                                                                                                                Q ua lifier: E Q U ALITY ,S E T _CO M P A R IS O N , S ET _IN T E R SE CT IO N ,- opt,n iv- n dv]
                                                                                                                [- - Cla s sA ttrib ute - - [- - Cla ss Identity - -N a m e : ATa llom or ph s,{ .7 .5 0}]
                                                                                                                G E T , Q ualifier: EQ U ALIT Y ,S E T_ CO M P AR I SO N ,S E T_ IN T ER S E CT IO N ,-o pt,n iv- n dv ]
                                                                                                                [N a m e- Bin din g(M O C lo g): log_ m an ag edE lem ent]

                                                                                Figure 3. Meta-data of GDMO
     The management operations on a MOCI are treated in a way of structured
programming. We shall make the supplementary tools to be helpful in
implemeting a management system. This approach provides some advantages to
the user. The followings are major effects incurred from it.
     Meta Object Handler (MOH): In order to handle the meta-data of GDMO
     Java objects, this is very useful for user to extract the necessary information
     in handling the management information. In this platform, this information is
     suited for Management Factory and agent tester.
     Management information can be transformed into various formats to be
     adaptable new technologies without rebuilding GDMO compiler. The script-
     based approach for the delegation of management functions is a well-known
     technique for the creation of scalable and flexible management system. So,
     this enables the manipulation of management information to be independent
     of technologies such as XML, Java RMI, and CORBA by making some
     additional tools. These tools may have the functionality of generating and
     transformating the management information from the meta-data of GDMO
     Java classes.

3. Tool Description

In this section, the major functionalities provided in this platform and the user
development part using the tools are described. The provisioned support tools can
help a developer make agent system in an easy manner [1, 12]. All of tools are
shown in Figure 2.

3.1 Management Information Generation

The tool, “Enhanced ASN.1 to Java (ea2j)”, translates ASN.1 [10] modules into
Java object ones. The generated Java code contains equivalent objects and core
routines to convert values between the internal (Java) representation and the

corresponding Basic Encoding Rules (BERs) format[1]. Also, it can optionally
provide the java object classes for CORBA IDL and for CMIP Over RMI (COR).
    In addition, eg2j also produces the Java objects from the GDMO [9]
templates, which have their own defined Java objects imported from ASN.1 Java
objects and their inheritance relationships. It also produces some additional files
such as “SetToDefaut.java”, “GDMOClassInitTab.java”, “GDMOClassInfo.java”
and “GDMOClassNBInfo.java” for the defined MOCs.

3.2 genMOCI

This tool is used to generate the specified or all of the templates of MOCIs. The
generated template provides the constructors for the creation of MOCI and the
methods for the management operations of MOCI. The user fills the management
operation for real resource into the provisioned methods, which are generally
operated via the defined communication interface of real resource.

3.3 genDefault

This tool generates the “DefaultValue.java” file, which defines the default value
for the composite ASN.1 object. The genDefault tool produces the basic template
for the default value. It has an initial value for m-Create and the value of
SetToDefault for m-Set operation, which can be defined in a MOC. Also, the user
for checking the exceptions of default values without building an agent system a
priori can use gen_mo_file command.

3.4 genOMC

This tool is used to produce the template file (i.e., Object Management
Coordinator (OMC)) for agent system. It mainly defines the management
coordination activities on the propagation of m-Create management operations
and the preprocessing of various management operations, which are deployed as
the initial process of agent system. The preprocessing is provisioned for the
functionlaities that are carried out before the m-Create and m-Delete management
operation are performed. It is made into the method, Preprocessor in the OMC
class, in which the preprocessing is performed, depending on the participating
MOCI. For instance, when the manager system sends the m-Delete CMIP
primitive without scoping to the agent system, the agent system can delete the
superior MOCIs in the containment relationship of MIT. It can invoke one
method, PRE_DELETE, in the generated MOC template by the genMOCI tool
for this processing. The Java clsss, “MD.java”, is also generated by this tool for
the support of the manipulation of real resource.

3.5 genNaming

This tool is used for the definition of template, “Naming.java”, which includes the
process of transformation of local form name into glabal form one. This one
relates to the naming convention and is made by the user. Also, the naming
conversion can be accomplished in the liaison with the directory server. In this
platform, Java Naming and Directory Interface (JNDI) is recommended.

3.6 genProcessing

The management operations on GDMO must be reflected on the MOCI templates.
The genProcessing is used to generate the template for the management
operations of GDMO, depending on the performed management operations. The
Java classes for management operations are denoted as CreateProcesing,
DeleteProcessing, GetProcessing, SetProcessing, and ActionProcessing. Each
class has it’s own Behaviour method which invokes the R_xxxx (e.g. xxxx
means the management operations such as create, delete, get, set, and action)
methods in MOCI template.

3.7 genAlarm

The “AlarmPropagation.java”, generated by the genAlarm, is a template for the
support of alarm propagation. It performs frequently the state changes of affected
MOCIs as a result of alarm occurrences from the resource interface.

4. Building Up Agent System

In this section, we are going to investigate the processes for building the agent
system. The provisioned tool, genAgent, generates the template of agent system.
And we introduce the agent tester, which can perform the test of agent system by
the use of CMIP-like script.

4.1 Automatic Generation of Agent System

The tool, genAgent, generates the “Agent.java”, a paradigm for guiding the
implementation of agent system. The major characteristics of agent template are
as following. It is editable by the user who wants to embody the agent system.
     Establish the environment variables for the agent system. In general, they
     include the enablity or disability of the trace, the creation of LogRecord, and
     the printing facility of linkedReplies as a result of (local) management
     The CommandProcessor performs the analysis on the arguments in main
     method and extended by the user for editing this file. The arguments are
     parsed for the address information for CMIP binding, the available variables
     for setting the agent system and so on. Also, AETTable class can be used for
     the necessary information of CMIP addresses by which the agent system can
     be ready to bind with the expected manager system.
     Make Mediation Device (MD), which is the interface for the agent system to
     access the real resources.
     The agent system starts the creation of the first MOCI, which can be placed
     on the most superior one in the containment tree for the management
     information. This is accomplished by the construction of MFactory. And
     there is the logging functionality of CMIP messages.
     The main body of the agent system can have some thread-based tasks, which
     have a peer relationship with it.

4.2 Management Function

The management system performs basic functions such as receiving and
responding to management operations, sending of alarms, sending of performance
data via management interfaces and providing management services via internal
management operations such as create, delete, get, set, and action [1]. In general,
object management provides object creation, deletion and attribute value change
     The management services with capability of performing the periodic
reporting function are carried out. The managed objects related to this service are
Current data, History data, Scanner and so on. This service object can be started
from the creation of the managed object by manager system or agent system.
From the viewpoints of management control (e.g., the change of granularity
period, the change of status), the agent thread can control the thread-based
management service object by using suspend, resume and interrupt operations.
Also, the termination of service is accomplished by the deletion of the managed
object. The functionality of performance reporting is performed by the support of
GaugeThreahold and CounterThreshold classes.

4.3 Management Information Persistence

In this section, two methodologies for making the persistence of management
information are described.
     The first one is accomplished by storing the management information into
database. For this approach, some methods of Java object are provided by this
platform. Each field of attributes of MOCI is stored in a stringed encoded format
using these methods. The determination of attribute is accomplished by
performing the decoding operation to its field data extracted from database.
Basically, connectivity to the databases is established through the JDBC drivers,
where each of those drivers is developed to provide access to proprietary database
management systems. When the persistent management application wants to
initialize its management service, it can reconstruct MIT and management service
by recreation of the necessary MOCIs from the database.
     The second one is using the object serialization interface of Java technology
[7]. This one is very useful when the management information is preserved in file
format. This situation can be occurred when the management system is corrupted
by the normal or abnormal situation. In this case, management application
serializes its MIT caused by some interruptions. The persistent management
application can reconstruct its management service by deserializing the MIT from
the specified file.

4.4 Agent Tester System

Basically, management application is implemented as a combination of the
management communication service and the manipulation of MOCIs. The
management service primitive is composed of as set of ASN.1 objects for the
specific MOCI. Therefore, magement function and service consists of the Java
objects for management communcation and information. The primitive operations
of management application are creation, deletion, list, and modification of
management information with the ASN.1.

     This manager can interact with the agent system to exchange CMIP message
after creating CMIP associations between two management entities that might
negotiate their contexts. The context parameter contains protocol-related
information. The services of agent system are determined from the capability of
agent system.
     The agent tester is used to perform the management operation to the agent
system by the user who defines the CMIP-like scripts in a simple manner. Before
the agent tester performs the management operations, it can establish an
association with the agent system by using JNMAssociation interface. The
binding of assocation is usually in a form of asynchrous confirmed. The
ACSEBinding method is used to process the response message of ACSE binding.
The command name is agtTst, written as a shell script. The command has two OSI
addresses, the one for the agent system and the other for the agent tester system

5. Conclusions

Telecommunications services requirements in terms of reusability for their quick
provision and interoperability to alleviate service interactions management and
distribution must be supplied. Because Java provides the capabilities of simplicity,
object-oriented concept, reliability, portability and multi-threading, the Java-based
distributed object computing has become increasingly popular as more complex
products are written using a multi-tier architecture.
     Therefore, we have made the management platform for the agent system
development using Java technologies that absorb the network management
requirements of the next generation. The platform also provides some tools for
making the agent system easier. This result shows that integrating between the
control elements of traditional and emerging networks is a powerful tool for
rapidly deploying and offering new services.

    1.  Jae-Oh Lee, Enabling Network Management Using Java Technologies, IEEE Communications
        Magazine, Jan. 2000.
    2. Sun Microsystems, The Java Language Environment, 1996.
    3. Sun Microsystems, JDBC: A Java SQL API, 1997.
    4. Sun Microsystems, JNDI: Java Naming and Directory Interface, 1997.
    5. Sun Microsystems, Java Remote Method Invocation Specification, 1996.
    6. Sun Microsystems, JNI: Java Native Interface Specification, 1997.
    7. Sun Microsystems, Object Serialization Specification, 1997.
    8. Sun Microsystems, Java IDL, 1997.
    9. ITU-T Recommendation X.722, Structure of Management Information: Guidelines for the
        Definition of Managed Objects.
    10. ITU-T Recommendation X.208, ISO/IEC 8824: Specification of Abstract Syntax Notation One
    11. Nabor Wang et al, Evaluating Meta-Programming Mechanisms for ORB Middleware, IEEE
        Communications Magazine, Oct. 2001.
    12. Jae-Oh Lee, Jnmware documents, http://www.wareplus.com/jnmware-doc/index.html.


To top