Sunteți pe pagina 1din 5

2009 Third International Conference on Multimedia and Ubiquitous Engineering

A Distributed Network Management Framework Based on Mobile Agents

FuLiang Guo, Bin Zeng, LiangZhong Cui


Department of Computer
Naval University of Engineering
WuHan, China
e-mail: fuliang_guo@163.com

Abstract—Traditional approaches to network management are physically direct data acquisition, unsuitable for large and
mostly based on the centralized client/server model. Due to the complex networks. Thus the modern network management
intrinsic limitations of SNMP-based management paradigms, system must be more powerful, flexible and efficient than
such as information bottlenecks and lack of flexibility, have before, and how to design and implement such advanced
encouraged a trend towards distributed management system. network management system is getting important [2].
The emergence of mobile agent frameworks has led many The emergence of mobile agent frameworks has led
researchers to examine their applicability to network many researchers to examine their applicability to network
management and control environments. It is believed that management and control environments. It is believed that
mobile agents can provide better solutions at least to
mobile agents can provide better solutions at least to
performance and fault management problems. In this paper,
performance and fault management problems, given the
the fundamental architecture of distributed network
management using mobile agents is presented. We also discuss large amount of data that needs to be moved around in
its advantages and how to develop mobile agents using respective solutions based on traditional approaches. The
Grasshopper agent platform. Finally, an example of network bandwidth wasted in the network management
management application implementation based on our system using mobile agents can be further reduced,
framework is briefly described. compared to the centralized network management systems.
Moreover, the distributed architecture provides an efficient
Keywords-distributed network management; mobile agents; way to detect network faults and update the management
SNMP; grasshopper agent platform policies.
The rest of the paper is organized as follows: in next
I. INTRODUCTION section, we provide a brief overview of mobile agent
technologies. Section 3 presents the design of network
Management applications acquire information about the management framework based on mobile agents, and discuss
network constantly through enquiries to network devices some major advantages compared to pure SNMP-based
such as routers, switches, hubs, uninterruptible power systems. A hybrid network management system combining
systems, printers, workstations and various servers. When a mobile agents and SNMP will be proposed. In section 4, we
problem arises, the application software can notify the introduce a popular mobile agent platform-Grasshopper and
network manager in ‘real time’. Using management describe how to implement our framework based on it.
applications such as HP Open View, IBM Net View, and Finally, we draw our conclusion and talk about our future
Cisco Works, network administrators are assisted in their works in section 5.
work. Management activities may include device
monitoring, performance measuring, problem isolation and II. OVERVIEW OF MOBILE AGENTS
resolution, growth planning, and quality-of-service
While stationary agents exist as a single process on one
assurance. Since its development in 1987 and standardization
host computer, mobile agents can pick up and move their
in 1990, SNMP has been deployed in many companies’ IP-
code to a new host where they can resume executing. From
based intranets, and in the network core [1].
a conceptual standpoint, such mobile agents can also be
Traditional approaches to network management are
regarded as itinerant, dynamic, wandering, roaming, or
mostly based on the centralized client/server model ,the migrant [3-4]. The rationale for mobility is the improved
Network Management Station (NMS) acts as the client and performance that can sometimes be achieved by moving the
the network devices act as servers. A static agent on the agent closer to the services available on the new host.
network device acts as a proxy, servicing requests made For example, if an agent wants to obtain information
upon the Management Information Base (MIB). In the basic from several sources on different platforms, it could send
SNMP architecture, the NMS can become a network information requests to each of the platforms using the
bottleneck as a result of the polling-based nature of equivalent of a remote procedure call (RPC). However, if the
monitoring and data collection. This situation can result in an volume of information exchanged with the remote site is
increased latency of reporting, especially in larger networks. large, issues of traffic and bandwidth must be considered.
There are also problems with potentially restricted message Also, the agent might be able to process the remote data
sizes or an overshoot effect. Centralized solutions also have more effectively than those services offered at the remote
other disadvantages such as the need for the operator to

978-0-7695-3658-3/09 $25.00 © 2009 IEEE 511


DOI 10.1109/MUE.2009.90
site [5]. In either or both of these cases, relocating the agent programmable platforms. The concept of “Remote
to each of the various platforms could be a more efficient Programming” using mobile agents is considered as an
way of processing. One disadvantage of such mobility is that alternative to the traditional “Client/Server programming”
the remote sites must provide the CPU cycles to support the based on the Remote Procedure Call (RPC) or the static
mobile agent's processing. distributed object paradigm (e.g. CORBA, Java-RMI).
Compared to static approaches, mobile agents provide two
major advantages:
Operating z Improved performance: In the case of C/S based
System communication, RPC for example, there are typically
Agent System several flows between the client and server in order to
Agent System perform even a simple transaction. It is expected that
these flows could be reduced to a single mobile agent
Agent System with a corresponding reduction in the network traffic.
Another factor is, by migrating to the location of a
Management needed resource, an agent can interact with the resource
Place Persistence without transmitting any intermediate data across the
Registration network, and this significantly reduces the bandwidth
AgentAgent consumption.
Security
Agent z Flexibility: The strategic advantage of remote
Migration programming is customization. Agents provide
flexibility in extending the functionality offered by
existing communication systems.
Communication Infrastructure This means that mobile agents enable control tasks to be
performed in a real distributed manner. In particular this
Figure 1. General Architecture of Agent System concept enables special services to be provided instantly and
to be customized directly at the locations where the
Figure 1 is a general system model to support mobile intelligence is needed. An additional key benefit is that
agent. One host or OS can have one or more agent systems. access to local information at a particular network node does
The agent system is a platform that can create, interpret, not suffer from varying delays as it is the case with remote
execute, transfer and terminate mobile agents [6-7]. It is access. This means that that the collected information is
associated with an authority that identifies the person or more accurate while fine-grain intervals may be used in
organization for which the agent system acts. It is uniquely cases of periodic polling.
identified by its name and address (e.g. IP address plus Port The fundamental ideas of management based on mobile
number). One agent system can have one or more Places. A agent are depicted below. The management applications are
place is an execution environment with a certain context composed of one or more mobile agent generators. The
within an agent system in which an agent can execute. This generated mobile agent moves or is delivered from manager
context can provide functions such as resource access station to the managed devices that supporting mobile agent
control, obtaining local information [8]. The source place system. Mobile agent accesses locally the resource of the
and the destination place can reside on the same agent managed device and accomplishes the required computation
system, or on different agent systems that support the same locally. The achieved results can be reported to the home
agent profile. manager station, to another manager station, or even to
Many distributed applications fit naturally into the another mobile agent for further evaluation.
mobile agent paradigm. Since mobile agents can migrate
sequentially through a set of machines, they and send out a
wave of child agents to visit multiple machines in parallel,
remain stationary, interact with resource remotely. In the past
years, a number of mobile agent systems are developed.
Although these are not directly address the task of network
management, but do help to provide a framework within
which network management systems and applications can be
developed. Among them, the Aglet workbench from IBM,
Odyssey from General Magic, Grasshopper developed by
GMD FOKUS and IKV++, and Voyager from ObjectSpace
are popular [9].
Figure 2. Network Management Framework Based on Mobile Agent
III. DESCRIPTION OF FRAMEWORK
In the context of communication networks, mobile agents The mobile agent can stay at one place to accomplish
enable the transformation of current networks into remotely some tasks such as network state monitor, it also can move

512
further to another place accompanied with the result, which it which leads to a long list of mobile agent platforms
has achieved. developed, either for academic usage or commercial
As illustrated in Figure 2, our framework consists of four purposes. Among these, Grasshopper is most popular and is
major components: adopted for developing our MA based network management
1. The Manager, responsible for launching MAS and system.
displaying returned results.
2. The MA code, capable of migrating between the A. Mobile Agent Platform – Grasshopper
managed entities to collect information based on pre-defined Grasshopper, which has been developed by GMD
policies. FOKUS and IKV++ GmbH, is a mobile agent platform that
3. The Mobile Agent Environment, capable of receiving is built on top of a distributed processing environment. In
mobile agents and providing an interface to the local this way, an integration of the traditional client/server
physical resources. MAE creates an efficient run-time paradigm and mobile agent technology can be achieved.
environment for receiving, instantiating, executing, and Grasshopper is developed compliant to the first mobile
dispatching MA objects, whilst protecting the system against agent standard of the Object Management Group (OMG), i.e.
external attack. the Mobile Agent System Interoperability Facility (MASIF).
4. The Mobile Agent Generator, a factory that generates The MASIF standard has been initiated in order to achieve
service-oriented MA objects. The MAG is essentially a interoperability between mobile agent platforms of different
process for constructing customized mobile agents in manufacturers [10].
response to service requirements. Such mobile agents may
dynamically extend NMS functionality, post MAE
initialization, to accomplish management tasks tailored to the
needs of a changing network environment.
The integration of mobile agents with SNMP has been
considered in our approach. The advantage of such a hybrid
system is that it is backwards compatible with existing
SNMP management applications. The structure of the
ameliorated hybrid approach that combines mobile agents
and SNMP in network management is illustrated in the
Figure 3.

Figure 4. The Grasshopper Distributed Agent Environment

Figure 3. Hybrid network management system combining mobile agents


In principle, Grasshopper realizes a Distributed Agent
and SNMP Environment (DAE). The DAE is composed of regions,
places, agencies and different types of agents. A place
As shown in Figure 3, every MA-supported network provides a logical grouping of functionality inside of an
device has to offer a MA context server. The MAs hosted in agency. The region concept facilitates the management of the
the context communicate with the local SNMP agent via distributed components (agencies, places, and agents) in the
SNMP, just like conventional SNMP-based management Grasshopper environment. Agencies as well as their places
applications. A network can be managed by mobile agents can be associated with a specific region by registering them
based management stations as well as stations that rely on within the accompanying region registry. All agents that are
SNMP. The management application creates MAs that it currently hosted by those agencies will also be automatically
then dispatches into the network to perform their task registered by the region registry. If an agent moves to
autonomously. Each agent has a specific task and an itinerary. another location, the corresponding registry information is
The itinerary is a list of network devices, and mobile agents automatically updated. Figure 4 depicts an abstract view of
can travel sequentially to many sites according to it. The these entities.
agent performs tasks at each network element and eventually Two types of agents are distinguished in Grasshopper:
sends results to the management application. mobile agents and stationary agents. The actual runtime
environment for both mobile and stationary agents is an
IV. SYSTEM IMPLEMENTION agency; on each host at least one agency has to run to
This section presents a prototype implementation of our support the execution of agents. A Grasshopper agency
framework. Since its inception in 1990s, mobile agent has consists of two parts: the core agency and one or more
attracted enormous attention from industry and institutes, places. Core Agencies represent the minimal functionality

513
required by an agency in order to support the execution of mibOps.setLoadFromCompiledMibs(true);
agents. if (values[MIBS] != null) try {
System.err.println("Loading MIBs:
B. Case Study: Mobile Agent Based Performance "+values[MIBS]);
Management mibOps.loadMibModules(values[MIBS]);
Performance management is one of the five management } catch (Exception ex) {
functional areas identified initially in OSI Systems System.err.println("Error loading MIBs: "+ex);
Management. It supports the collection of performance }
information periodically in order to provide statistics and // Build Get request PDU
allow for capacity planning activities. Performance SnmpPDU pdu = new SnmpPDU();
management needs access to a large quantity of dynamic pdu.setCommand( api.GET_REQ_MSG );
network information. An important issue is to provide this // add OIDs
for (int i=1;i<opt.remArgs.length;i++) {
information to management applications with a small impact
SnmpOID oid = new SnmpOID(opt.remArgs[i]);
on the managed network. Performance management system if (oid.toValue() == null)
based on mobile agents can minimize the response time and System.err.println("Invalid OID argument: " +
bandwidth consumption compared to SNMP-based systems. opt.remArgs[i]);
Following, we will describe step by step how to develop else pdu.addNull(oid);
performance mobile agent using Grasshopper platform. }
(i). Creating a new basic agent pdu = session.syncSend(pdu); // Send PDU and
An agency provides the method createAgent(...) that is receive response PDU
offered by the interface IagentSystem and that has to be if (pdu == null) {
used for creating agents via the API. An example is given System.out.println("Request timed out to: " +
below. opt.remArgs[0] ); // timeout
createAgent("edu.whu.nms.performance.SimpleMa","file System.exit(1);
:/e:/nms/ma","performance",createArgs); }
(ii). Encapsulating the properties related to SNMP System.out.println("Response PDU received from "
Optionally, a set of properties can be provided to an +pdu.getAddress()+", community: " + pdu.getCommunity());
agent, either during the agent’s creation, or during its // print and exit
runtime. In our approach, these properties maybe include }
destination set, MIB object set, performance parameter set, (iv). Starting-up the Region Registry
arithmetic set and so on. Via setProperty method, we can set In order to activate a Region Registry that runs on
the value of one single property, specified by the property default profile and port, we can apply the following
key. command as shown below within a command-line shell.
setProperty("device1-IP","202.114.66.223"); Grasshopper r -n MARegistry
setProperty("read-community","whu-read"); (v). Launching the Agency
setProperty("write-community","whu-write"); If user wants that the agency is automatically registered
setProperty("snmp-port","161"); to the Region Registry, then the following command have to
setProperty("place- be used:
address","socket://202.114.66.223:7002/liroot/place"); Grasshopper a -r socket://<ip>:7020/MARegistry
setProperty("ifOutOctets"," .1.3.6.1.2.1.2.2.1.16"); //The (vi). Registering the agent
total number of octets transmitted out of the interface In order to migrate, an agent has to provide information
(iii). Collecting local performance data about the desired destination location. The agent specifies
The method live() is the most fundamental method of this information in terms of a Grasshopper address, which is
each Grasshopper agent, since its implementation realizes an instance of the class GrasshopperAddress. The
the agent’s active, autonomous behavior. Note that this is IRegionRegistration interface is explicitly associated with
the only method that must be overridden by an agent Grasshopper region registries.
programmer when implementing an agent class. For GrasshopperAddress regionAddress = new
instance, we can use following codes to obtain MIB object GrasshopperAddress(registryAddress);
value. (AdventNet SNMP Manager Libraries are used as a //registryAddress is the address of the Region Registry
means of interfacing with SNMP.) IRegionRegistration regionAgent =
public void live() { (IRegionRegistration)
SnmpAPI api; // Start SNMP API ProxyGenerator.newInstance(IRegionRegistration.class,
api = new SnmpAPI(); regionAddress.generateRegionId(),
api.start(); regionAddress);
SnmpSession session = new SnmpSession(api); // (vii). Moving the Agent
Open session Via the move() method, an agent is able to migrate to
session.setPeername(opt.remArgs[0] ); // set remote another agency/place.
Host String nextAddr =getProperty("address" +
//Load MIB file getProperty("nextDestination"));
MibOperations mibOps = new MibOperations(); GrasshopperAddress destAddress = new

514
GrasshopperAddress(nextAddr); [1] Andreas Pashalidis, Martin Fleury, “Secure Network Management
move(destAddress); within an Open-Source Mobile Agent Framework”. Journal of
Network and Systems Management, Vol.12, No.1, March 2004
V. CONCLUSIONS AND FUTURE WORKS [2] Li-De Chou, Kun-Chang Shen, Ko-Chung Tang, and Chi-Chia Kao,
“Implementation of Mobile-Agent-Based Network Management
In this paper, we have introduced how to apply the Systems for National Broadband Experimental Networks.” Springer-
mobile agent technology in the field of distributed network Verlag Berlin Heidelberg, 2003, 280-289
management. In our system, mobile agents are created at the [3] Dianlong Zhang, “Network Management Using Mobile Agent”.
network management level according to user requests and International Conference on Communication Technology, ICCT’98,
then migrate to network elements to perform monitoring Beijing, China, 1998
functions in a local manner. It is clear that this architecture [4] Bohoris, C., Pavlou, G. and Cruickshank H., “Using Mobile Agents
for Network Performance Management.” Network Operations and
meets the demand of the management of the large scaled Management Symposium, Honolulu, HI USA, 2000, 637-652
networks. Distributing management tasks close to the [5] Gavalas D., Greenwood D., Ghanbari M., and O’Mahony M, “Using
managed resources reduces the loads and minimizes Mobile Agents for Distributed Network Performance Management”,
response time. Meanwhile, with the migration ability, the Intelligent Agents for Telecommunication Applications, IATA’99,
mobile management applications generated by the manager Proceedings, Stockholm, Sweden, 1999, 96-112
can perform specific management tasks autonomously and [6] Gavalas D., Greenwood D., Ghanbari M., and O’Mahony M., “A
purposefully at multiple appropriate managed devices in a Hybrid Centralized - Distributed Network Management
Architecture”, accepted to the 4th IEEE Symposium on Computers
coordinated way. and Communications (ISCC'99), 1999.
Finally, we would like to mention the directions of our
[7] OMG Agent Technology Green Paper,
future research. We plan to establish a robust security http://www.objs.com/agent/index.html
mechanism in our framework, because the mobile agents will [8] an Nicklisch, Jürgen Quittek, Andreas Kind, and Shinya Arao: INCA,
easily become the targets of attacking in an open distributed “An Agent-Based Network Control Architecture. Intelligent Agents
environment. This paper does not discuss any coordination for Telecommunication Applications”, IATA'98, Proceedings, Paris,
among multiple mobile agents, but we are interested to France, July 1998, 142–155
develop a mechanism for assigning a task to one or more [9] Griffin D., Pavlou G., Georgatsos P., “Providing Customizable
mobile agents. We also intend to research on applying the Network Management Services through Mobile Agents.”
International Conference on Intelligence in Services and Networks,
framework to an infrastructure for ambient intelligence in Athens, Greece, 2000
ubiquitous computing environments and to mobile agent- [10] C. Baumer and T. Magedanz,“Grasshopper–A Mobile Agent Platform
based managements for sensor networks. for Active Telecommunication Networks”, Intelligent Agents for
Telecommunication Applications, IATA’99, Proceedings, Stockholm,
REFERENCES Sweden, 1999, 19-32

515

S-ar putea să vă placă și