Managing Communication Resources ________________________________________________________________ Managing Communication Resources Mälardalen University Department of Computer Science and Engineering Michael Sievert mst98015@student.mdh.se Supervised by: Nisse Rydblom at Citat Solutions Filip Sebek at Mälardalen University 1 Managing Communication Resources ________________________________________________________________ Abstract Data Unit Systemkonsult AB, now Citat Solutions, is contracted to develop the communication system MSBL to the Swedish Defense. MSBL is a system used to send Command and Combat messages between different military Units within the Swedish Navy. Depending on how the different Units are connected, the system may communicate over radio or wire. In order to make efficient use of the various communication resources at its disposal, MSBL has to manage transmission devices such as radios and antennas. The transmission devices are connected to other communication systems. These are in turn connected to MSBL. To manage the transmission devices of presently existing and forthcoming systems from MSBL, a standardized management solution has to be used. This paper examines SNMP, CMIP, RPC, WBEM, and Mobile Agents for the management needs of MSBL. The solution that best fits with the needs of MSBL is recommended. Software for simulating the management aspects of the forthcoming systems is developed and described. 2 Managing Communication Resources ________________________________________________________________ Table of Contents Managing Communication Resources .................................................................... 1 Abstract ............................................................................................................................................... 2 Table of Contents ................................................................................................................................ 3 Acknowledgements ............................................................................................................................. 5 1 Introduction ....................................................................................................................... 6 2 Background ........................................................................................................................ 8 2.1 MSBL ........................................................................................................................ 8 2.2 Network Management ............................................................................................. 10 2.2.1 General ................................................................................................................................... 10 2.2.2 FCAPS ................................................................................................................................... 11 3 Network Management from MSBL ............................................................................... 13 3.1 Present...................................................................................................................... 13 3.1.1 General ................................................................................................................................... 13 3.1.2 PCMIND ................................................................................................................................ 14 3.1.3 SjöMan ................................................................................................................................... 15 3.2 Future ....................................................................................................................... 16 3.2.1 General ................................................................................................................................... 16 3.2.2 HF2000 and VLF ................................................................................................................... 16 3.2.3 ICS2000 ................................................................................................................................. 17 3.3 Changes Required .................................................................................................... 18 3.3.1 Presently Employed Devices .................................................................................................. 18 3.3.2 Future Devices ....................................................................................................................... 20 4 Network Management options ....................................................................................... 23 4.1 General ..................................................................................................................... 23 4.2 Simple Network Management Protocol................................................................... 24 4.2.1 Background ............................................................................................................................ 24 4.2.2 Description ............................................................................................................................. 25 4.3 Common Management Information Protocol .......................................................... 32 4.3.1 Background ............................................................................................................................ 32 4.3.2 Description ............................................................................................................................. 32 4.4 Remote Procedure Call ............................................................................................ 35 4.4.1 Background ............................................................................................................................ 35 4.4.2 Description ............................................................................................................................. 35 4.5 Web-Based Enterprise Management ....................................................................... 38 4.5.1 Background ............................................................................................................................ 38 4.5.2 Description ............................................................................................................................. 38 4.6 Mobile Agents ......................................................................................................... 42 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 Background ............................................................................................................................ 42 Description ............................................................................................................................. 43 Agent Mobility ....................................................................................................................... 44 OMG MASIF ......................................................................................................................... 45 Mobile Agents for Managing Networks ................................................................................. 48 Advantages of Mobile Agents ................................................................................................ 49 3 Managing Communication Resources ________________________________________________________________ 4.6.7 Problems with Mobile Agents ................................................................................................ 52 4.6.8 Integration with legacy technologies/protocols ...................................................................... 53 4.6.9 Agent Platforms ..................................................................................................................... 55 5 Review/Evaluation........................................................................................................... 56 5.1 General ..................................................................................................................... 56 5.2 SNMP ...................................................................................................................... 57 5.2.1 General ................................................................................................................................... 57 5.2.2 Positive aspects ...................................................................................................................... 57 5.2.3 Negative aspects ..................................................................................................................... 58 5.3 CMIP........................................................................................................................ 59 5.3.1 General ................................................................................................................................... 59 5.3.2 Positive aspects ...................................................................................................................... 59 5.3.3 Negative aspects ..................................................................................................................... 60 5.4 RPC .......................................................................................................................... 61 5.4.1 General ................................................................................................................................... 61 5.4.2 Positive aspects ...................................................................................................................... 61 5.4.3 Negative aspects ..................................................................................................................... 62 5.5 WBEM ..................................................................................................................... 63 5.5.1 General ................................................................................................................................... 63 5.5.2 Positive aspects ...................................................................................................................... 63 5.5.3 Negative aspects ..................................................................................................................... 63 5.6 Mobile Agents ......................................................................................................... 64 5.6.1 General ................................................................................................................................... 64 5.6.2 Positive aspects ...................................................................................................................... 64 5.6.3 Negative aspects ..................................................................................................................... 65 6 7 8 9 Recommendation ............................................................................................................. 66 6.1 General ..................................................................................................................... 66 6.2 Mobile Agents in MSBL ......................................................................................... 67 Proposed solution ............................................................................................................ 69 7.1 General ..................................................................................................................... 69 7.2 Simulator.................................................................................................................. 69 Result ................................................................................................................................ 74 8.1 Analysis ................................................................................................................... 74 8.2 Future Work ............................................................................................................. 75 Conclusions ...................................................................................................................... 76 10 References ........................................................................................................................ 77 4 Managing Communication Resources ________________________________________________________________ Acknowledgements This paper is intended as a thesis for a Master of Science degree in Computer Science from Mälardalen University. The work was conducted at Citat Solutions, formerly Data Unit Systemkonsult, in Stockholm. Sincere thanks and appreciation to all persons involved, in particular Lennart Bygdeman and Nisse Rydblom at Citat Solutions as well as Filip Sebek at Mälardalen University. Great appreciation is also extended to everyone who make publications available online, especially to the NEC ResearchIndex database (http://citeseer.nj.nec.com), which contains many of the articles referred in this thesis. On a related note the author would like to point out his frustration with standards bodies that do not publish their specifications online, and the ones who do so but charge for the access. Unfortunately it appears as though the openly published Request For Comments, RFC’s, from the IETF are the exception rather then the rule. It would be great if other organizations such as ITU, ISO, The Open Group, etc would follow suite. 5 Managing Communication Resources ________________________________________________________________ 1 Introduction The purpose of this report is to provide a recommendation for a management solution to be used by a military communication system called MSBL [2.1]. The report explains what management functionality is and outlines the different requirements the solution needs to fulfill. The alternatives are described one at a time. They are then looked at for use with MSBL. The most favorable solution is recommended for use and an implementation of a simulator using the solution is described. This report is organized as stated below: Background The background section provides some general information regarding issues central to the paper, namely the communications system MSBL and network management in general. This gives the reader an idea of what MSBL is and lets the reader know the general concepts of network management. These concepts are reflected throughout the rest of the paper. Network Management from MSBL This part gives information on the systems MSBL will have to manage. It provides an overview of systems that exist today as well as forthcoming systems. The current management concept for these systems is explained here as well as any changes required for the systems to function with MSBL. Network Management Alternatives This section outlines the different management solutions considered for MSBL. A fairly detailed description is given for each of the proposed solutions. Evaluation The evaluation section provides an analysis of the pros and cons for each of the proposed management solutions. 6 Managing Communication Resources ________________________________________________________________ Recommendation This section recommends and justifies a solution. Proposed Solution In this section a solution is proposed based on the recommended solution. Result The result of the thesis is analyzed. Some suggestions for further work are also proposed. Conclusion This section provides concluding statements about the problem, and how it was solved. It gives a brief explanation of MSBL and states which management solution was selected by the author. 7 Managing Communication Resources ________________________________________________________________ 2 Background 2.1 MSBL MSBL, Marin SamBandsLedning, is a communication system used by the Swedish Defense. The system uses different cryptographic and communication resources to transfer combat and command messages between military units within the navy. Depending on how the units are connected the communication can operate over radio or cable. Presently there are many different communications systems and protocols/formats used throughout navy units. MSBL is meant to unify the communication by being able to use the existing systems and convert between their different formats. 8 Managing Communication Resources ________________________________________________________________ Figure 2-1, General Overview The intention with MSBL is to create a general and platform independent interface towards the rest of the world for the navy command and control systems. MSBL is designed to standardize the procedures involved in converting between different formats to facilitate communication from one type of system to another. An example is how Combat Control sends combat messages such as target information. This information is received by MSBL in one format. The destination unit does not understand this particular format so the data has to be converted. This conversion is hidden from the Combat Control system. All it has to know is to which unit it wishes to send the message. MSBL selects the appropriate format and protocol. [3] 9 Managing Communication Resources ________________________________________________________________ The actual transmission of data is handled by a variety of other communication systems. These in turn directly or indirectly interface with the transmitting or receiving devices. In the new version of MSBL, these transmission devices have to be manageable from within the MSBL system. MSBL communicates over a data network. This means MSBL will monitor and configure devices in a networked data environment. This area is referred to as Network Management. It is important to note that MSBL is concerned with managing the actual device stations but this managing functionality will be facilitated through other systems. MSBL will itself never have direct contact with the managed devices, such as radios, in these systems. 2.2 Network Management 2.2.1 General A general description of network management (from Cisco): “Network management is a service that employs a variety of tools, applications, and devices to assist human network managers in monitoring and maintaining networks.”[9] Another description might be that network management is the act of remote monitoring and configuring networked systems and/or devices. As computer networks began to grow in size in the early 1980’s they also became much harder to manage and maintain. This created a need for efficient monitoring and configuration of network devices from a remote position. The most basic example of this, that is still presently used, is the remote login programs such as telnet. By using remote login, a network administrator can configure and monitor network devices located at various geographical locations without leaving his office. [7] The need for efficient monitoring and configuration is more evident then ever in the heterogeneous systems present in current network environments. 10 Managing Communication Resources ________________________________________________________________ 2.2.2 FCAPS In order to provide some kind of general framework over network management functionality ISO, the International Organization for Standardization, has defined a conceptual model called FCAPS describing the most important functional areas of network management. This definition is a part of a standard from the OSI, Open Systems Interconnection, called the OSI Structure for Management Information. FCAPS is an acronym for Fault Management, Configuration Management, Accounting, Performance Management and Security Management. Most network management systems do not however, fully support all these areas. Fault Management Fault management deals with detecting, isolating and correcting problems. This includes performing diagnostic tests, logging and reporting faults. [6][7][8][9][10] Configuration Management Configuration management deals with monitoring the configuration information of the network. This is perhaps the most important part of network management. Most of the problems encountered are a direct result of improper configurations. [6][7][8][9][10] Accounting This area involves measuring groups and individual users utilization of the network. This data can then be used to provide billing information or to maintain good network performance. It often involves finance, often with focus on cost cutting. The data can also be used as a basis when regulating certain users or groups. [6][7][8][9][10] Performance Management Performance management concerns measuring various aspects of a networks performance. This includes gathering and analyzing various statistical data in order to maintain the performance at an acceptable level. [6][7][8][9][10] 11 Managing Communication Resources ________________________________________________________________ Security Management Security management controls access to network resources in order to ensure legitimate use, maintain confidentiality and data integrity. [6][7][8][9][10] Though some areas are often thought of as more important then others, together they make up the criteria to be considered when managing a network. Because not all management protocols support all the areas, it is important to keep in mind what areas are essential for the specific network when selecting a network management solution. 12 Managing Communication Resources ________________________________________________________________ 3 Network Management from MSBL 3.1 Present 3.1.1 General Presently there are two different communication systems in use that need to be managed from MSBL. Both these communication systems currently have their own internal structure and interfaces. They are managed separately through various means. The goal is to be able to manage these devices through a single system instead of relying on other methods for separate management of each system. The present systems in use are PCMIND and SjöMan. These are independent communication systems that control their own set of device stations attached (radios, antennas, etc), which they use to transmit and receive messages. [2] 13 Managing Communication Resources ________________________________________________________________ 3.1.2 PCMIND Figure 3-1 PCMIND is used to send and receive messages. The system is found on board military vessels and on Swedish Coast Guard and Swedish Navy establishments. The system also controls a set of communication devices, called device stations, used for transmitting and receiving messages. PCMIND consists of three separate PC programs. In short the system functions as follows: a few user applications, MMI Programs, that communicate with a database, which in turn talks with a program which handles the communication with the actual device stations. The operator interfaces with the system through the user applications. All parameters, like send and receive frequencies, are controlled from the user applications. The management of the system is considered local. [2][4][5] 14 Managing Communication Resources ________________________________________________________________ 3.1.3 SjöMan Figure 3-2 SjöMan is a communication system for radio used in some of the Swedish Coast Guards surveillance stations. The system supports a wide array of different radio types. It supports traffic for speech, data, telegraph, and remote script. The SjöMan system is maneuvered by an operator from a station referred to as TVAK, derived from “TeleöverVAKare”. The operator controls the system from a workstation and a traffic panel. These control a TVAK Unit. This unit controls a TVAK switch that is connected to the actual communication radios. The workstation is connected to the TVAK Unit via v24, a standard serial connection, from one of its COM ports. [83] The workstation is used to handle all radio parameters, lines etc. 15 Managing Communication Resources ________________________________________________________________ The traffic panel is used to select which transmitter will be used for sending and which receiver will be used for listening. The software for the maneuvering workstation presently runs on Macintosh machines but a PC port is scheduled for release before this paper is completed. [2] 3.2 Future 3.2.1 General MSBL will have to manage three forthcoming systems, HF2000, VLF and ICS2000. None of these are presently in use. They are still under development. Only one of them has been prototyped as of this writing. These systems should utilize the same management solution as the presently deployed systems. [2][5][4] 3.2.2 HF2000 and VLF 16 Managing Communication Resources ________________________________________________________________ Figure 3-3 HF2000 is a communication system currently developed by Marconi. As of this writing, it has not been prototyped and the particulars of the design are still being worked out. HF2000 will be a communication system that uses HF radio, High Frequency, to transmit messages from one addressee to one or more addressees. [4][5] The VLF, Very Low Frequency, system is used to send text messages to submarines. A prototype does exist at present. This prototype is managed locally and that the system contains no functionality for being managed remotely. Future versions of VLF will be manageable via SNMP, Simple Network Management Protocol [4.2]. [2] 3.2.3 ICS2000 Figure 3-4 17 Managing Communication Resources ________________________________________________________________ Developed by INFOCOM, ICS 2000, or Integrated Communication System 2000, will be a communication system for use on board Navy vessels. The system consists of a control station and a communication switch called DCS2000. The operator controls the device stations from a control station. This control station is essentially a workstation running a management client from INFOCOM. [11] It currently supports remote administration via RPC, Remote Procedure Call [4.4] as defined by RFC1057. This is how the control station communicates with the DCS2000 communication switch. The DCS2000 in turn controls the connected device stations. [2] 3.3 Changes Required 3.3.1 Presently Employed Devices 3.3.1.1 General The general concept for facilitating the communication between the different interfaces will be to use a maneuvering client as a proxy between the Control Unit in MSBL, also referred to as the Transmission manager, and the managed systems. In the managed systems, a maneuvering server will be used to handle the management communication from the maneuvering client. The maneuvering server will then interface with the managed system through whatever means are presently provided for configuration. This could be some obscure proprietary solution that operates over a serial interface or perhaps it could be an open TCP/IP based solution. Security will not be a determining factor in the selection of management interface/protocol because the network is considered to be secure. In other words it does not contain any hostile hosts who would attempt to abuse the management privileges. The maneuvering servers may therefore disregard security precautions normally considered vital. [2] 18 Managing Communication Resources ________________________________________________________________ 3.3.1.2 PCMIND and SjöMan Figure 3-5 A maneuvering server will have to be created for PCMIND. The Database Handler in PCMIND will see the maneuvering server as a regular client. Thus the maneuvering server will communicate in the same way an MMI program currently communicates with the Database Handler. [2] The maneuvering server will also contain proxy functionality to communicate over the management interface with the maneuvering client in MSBL. 19 Managing Communication Resources ________________________________________________________________ In SjöMan the maneuvering server will function in a similar manner. From the point of view of the TVAK Unit in SjöMan, the maneuvering server is seen as a regular maneuvering station, though in reality the server receives the management instructions from MSBL via the management interface. [2] 3.3.2 Future Devices 3.3.2.1 General The forthcoming systems will be managed similar to the present ones. They will also use the same management interface. The major difference between the forthcoming and the already existing systems is that the management interface has not yet been defined for the forthcoming systems. During the development process there is a possibility to persuade the manufacturers to adopt the common management interface selected for MSBL. 20 Managing Communication Resources ________________________________________________________________ 3.3.2.2 HF2000, VLF and ICS2000 Figure 3-6 ICS2000 is presently managed using RPC. [2] The new version of VLF, and possibly HF2000 as well, is currently being designed with the possibility of management using SNMP. [1] For the maneuvering server in ICS2000, this means that it has to communicate with DCS2000 using RPC. If MSBL will use RPC as the management interface, the maneuvering servers proxy capability would be unnecessary since the maneuvering client in MSBL could communicate directly with the DCS2000 communication switch. 21 Managing Communication Resources ________________________________________________________________ The manufacturers of HF2000 and the new version of VLF will most likely handle the implementation of the maneuvering server for the respective systems. If this is not the case there will most likely be an SNMP interface for the maneuvering server to communicate via. The same thing would then hold true for VLF and HF2000. If SNMP is used as the management interface, the maneuvering server is no longer a necessity. Since security will not be a deciding factor in the selection of management interface/protocol, the maneuvering servers may disregard this aspect just like they would in the present devices. [2] 22 Managing Communication Resources ________________________________________________________________ 4 Network Management options 4.1 General Although there are plenty of options available to manage networks, the management solutions chosen below seems to be the some of the most popular in present implementations. These are also the protocols that have been considered for use with MSBL and is therefore included in this paper. SNMP and CMIP, Common Management Information Protocol [4.3], are standardized, traditional management solutions. They are the most obvious choices to review when deciding on a network management solution. The other alternatives described below are probably not as obvious. WBEM, Web-Based Enterprise Management [4.5], is a fairly new emerging standard. RPC in it self is not a new concept, nor is management via RPC, but unlike the previous three it is not a specific management protocol. The final alternative is a little different. Research in network management is mostly concerned with distributed management. In this area the work is moving toward the use of mobile agents to manage networks. While real world implementations of this paradigm are rather scarce at the moment, it is an interesting option and it appears to be in this direction the network management field is moving. 23 Managing Communication Resources ________________________________________________________________ 4.2 Simple Network Management Protocol 4.2.1 Background The IETF, Internet Engineering Task Force, Management Framework is commonly referred to as SNMP, or Simple Network Management Protocol. SNMP was originally designed in the late 1980’s to integrate the management of different types of network devices. It has evolved to become the present “de facto” standard for network management on the Internet. [15] SNMP is a part of the Transmission Control Protocol/Internet Protocol (TCP/IP) protocol suite. [17] Several versions of SNMP coexist in the networked environments today. The version still most widely deployed is SNMPv1. Version history SNMPv1 The first version of SNMP was standardized in 1988. [18] SNMPv2 After the success of the first version of SNMP, there became an apparent need for new functionality that was missing from the first version. Primarily a framework designed to allow distributed management and to provide a security model, something that practically did not exist in the first version. Around 1993 a standard was proposed for version 2. This version had a security model based on parties. The four editors however, did not agree on the security part of the specification and the proposal was rejected. The distributed management framework was moved to a separate specification called DISMAN [76]. As a result of this the security model was scrapped and a few different new proposals appeared in 1995. A community based security model was used in the SNMPv2c proposal 24 Managing Communication Resources ________________________________________________________________ while a user based security model was proposed in SNMPv2u. Neither of these was ever approved as a final SNMPv2 standard. [14] SNMPv3 In 1997 a new working group was formed with new editors to create a new standardized version of SNMP containing the desired functionality and security that could never be agreed on for version 2. [14] The Internet Engineering Steering Group, IESG, approved SNMPv3 as full Internet Standard in March 2002. [98] 4.2.2 Description 4.2.2.1 General When describing SNMP it is important to note that there are various versions of the protocol with the most commonly used still being the oldest, SNMPv1. This paper will attempt to describe the common characteristics of all versions unless otherwise stated. SNMP is essentially a request-reply protocol that operates over UDP. A client/server system is used where the server is referred to as an agent and the client as a manager (sometimes called NMS, or Network Management Station). The agent can be thought of as a dumb node that performs get and set operations as directed by the manager. A network element that contains an SNMP agent is called a managed device. Examples of these can be routers, switches and bridges, hubs, workstations and servers, or printers. [17] Each managed device keeps a database of elements representing different characteristics of the device, called managed objects. The Management Information Base, or MIB, describes these objects. The MIB is structured as a hierarchical tree where the objects containing the actual data are the leaves. Each managed object is assigned an Object Identifier, a unique identification that represents where in the tree the object can be found. [15][16][17] 25 Managing Communication Resources ________________________________________________________________ A typical SNMP scenario would be: A Network Management Station wants to know the status of a specific printer on the network. The station retrieves the object identifier for the status field of the printer from the printers MIB. It then issues a get operation to the actual SNMP agent representing the printer with the Object Identifier as a parameter. The agent retrieves the value of the printers status object from its database and sends the value as response to the management station. The Structure of Management Information, or SMI, defines the rules for describing management information in SNMP. This means that SMI specifies object name (OID), data type (integer, string, etc) and encoding (how information is serialized for transmission between machines). SMI is described with ISO’s standard ASN.1, or Abstract Syntax Notation 1, format. [13] As explained earlier the evolution of SNMP has generated several different versions. The differences of these are outlined below. DISMAN and RMON, Remote MONitoring [4.2.2.6], are two different standards that have been “born” around SNMP in order to fulfill a need. They can be thought of as extending the functionality of SNMP in a standardized way. 4.2.2.2 SNMPv1 SNMPv1 is the first implementation of the SNMP protocol and most widely used today. The almost complete lack of security, only a community name used as password, is one of the main reasons for criticism of this version. [14][19] The messages exchanged between agent and manager is called Protocol Data Units or PDU’s. SNMPv1 uses four different types of PDU’s. Two of these are for reading data, one is for writing, and the last is the trap, or notification, used by an agent to notify a manager of an event. 26 Managing Communication Resources ________________________________________________________________ These PDU’s are used for the following operations [16]: GET - A manager retrieves the value of a specified object from an agent. GETNEXT - A manager retrieves the value of the next object in a table or list within an agent. SET - A manager sets the value of a specified object in an agent. TRAP - An agent sends a notification to inform a manager of some event. 4.2.2.3 SNMPv2 Since the second version was never fully agreed upon and thus never formally standardized, several proposed versions appeared. This paper only looks at the most prevalent of these, namely v2c and v2u. A feature common to both of these is the introduction of TCP support. The main difference between the two is the security model used. SNMPv2 introduced two new operations [16]: GETBULK – Used by a manager to retrieve a bulk of information at once. INFORM – Enables a manager to send messages to another manager. The SNMPv2c version uses a community based security model. This is the same security model used in SNMPv1. Basically a community string is passed along as a common “password” between the manager and the agent. [14][20] The SNMPv2u version uses a user based security model. This has been published as an experimental protocol in the USEC specification. [82] The USEC specification is defined in two documents known as “An Administrative Infrastructure for SNMPv2” and, “The Userbased Security Model for SNMPv2”. [14][20] SNMPv2c is more widely supported then SNMPv2u. 27 Managing Communication Resources ________________________________________________________________ 4.2.2.4 SNMPv3 SNMPv3 was introduced to solve the security problems of the earlier versions. The important services that are used to achieve this are authentication, privacy and access control. This is the most current version of SNMP. It has not been able to gain widespread acceptance yet. The authentication is used to verify that a message actually came from the given source. The privacy is attained through encryption of the SNMP messages. The traffic is encrypted with DES, Data Encryption Standard. This prevents eavesdropping of messages by unauthorized hosts. Access control enables an agent to allow different levels of access to different managers. [18] All these are vital security issues that were missing from the earlier versions. [21] 4.2.2.5 DISMAN The name DISMAN comes from DIstributed MANagement. It is an IETF framework that has origins in the introduction of distributed management in SNMPv2. The DISMAN charter [76] defines several MIB’s to address the needs of distributed management operations. [52] They can be grouped into three different approaches to distributed management. [14] MIB based This is the standard MIB approach. It resembles the manager-to-manager functionality introduced in SNMPv2. The approach uses two different MIB’s. The Event MIB and the Expression MIB. [14] 28 Managing Communication Resources ________________________________________________________________ Figure 4-1 [14] The Event MIB defines a way to monitor MIB objects, either remotely or locally. Triggers can be defined to take action when certain changes occur. A notification can then be generated or a set operation performed. [14][52] The Expression MIB is intended to move some of the information processing usually performed by the manager to the agent.[52] The results evaluated expressions are MIB objects. These custom-defined objects are thus usable anywhere any other MIB object can be used. They can be utilized by a management application directly or referenced from the Event MIB. [88] The Notification Log MIB defines a way to deal with the loss of notifications by recording each notification data. [52] Script based The Script based approach relies on the Schedule MIB and the Script MIB. This approach allows a distributed manager to store and retrieve scripts making the functionality definable at run-time. [14][52] 29 Managing Communication Resources ________________________________________________________________ Figure 4-2 [14] The Script MIB module allows the delegation of management functionality to other distributed managers. The functionality is defined in scripts. The scripts may be defined in a scripting language or native code as long as the remote site is able to execute it. The Schedule MIB allows for the scheduling of periodic or dated actions. The actions are set operations on local MIB variables. To perform more complex actions a management script can be triggered. [14][52] Remote operations based The Remote Operations MIB defines a standardized way of performing remote network tests. [52] It allows a remote host to perform the ping, traceroute, and name lookup commands. [14] 30 Managing Communication Resources ________________________________________________________________ Figure 4-3 [14] 4.2.2.6 RMON RMON is an acronym for Remote MONitoring. It is a standardized specification for the exchange of monitoring information. The standard is defined in a SNMP MIB that is described by RFC 1757 [78]. [77] This RFC has now been made obsolete by RFC 2819 [79]. Usually MIB’s are created to support a specific type of network device whose primary function is other than management. The RMON MIB however, was created to allow the management of a network. It is most often used to collect a standard set of SNMP statistics from network devices. [13] Traditional SNMP agents are not capable of gathering most RMON data. RMON requires special probe devices or functionality that can see a whole network segment. These collect and forward RMON information. Such a probe can reduce network traffic by storing results locally until they are requested by a management application. [81] 31 Managing Communication Resources ________________________________________________________________ 4.3 Common Management Information Protocol 4.3.1 Background Common Management Information Protocol, CMIP, is part of the X.700 standard of the OSI Management Framework, also known as ISO/IEC 7498-4. Like most management protocols it is comprised of a management application and management agents. CMIP has many similarities with SNMP. It was developed in the late 1980’s with the intention of replacing SNMP by making up for its deficiencies and shortcomings. Large corporations and governments provided much of the funding for the work. Despite this, the protocol has never achieved widespread availability except in the telecom industry. [22][24] There are several reasons for the lack of acceptance. One is that CMIP was designed to operate on the OSI protocol stack whereas most network environments today use TCP/IP. Another reason is that CMIP is rather large and complex and it requires a fairly large amount of system resources. Because of the complexity, maintaining a CMIP based network management system often requires personnel with specialized training. This has in turn resulted in very few implementations of CMIP. [24] 4.3.2 Description Since CMIP was designed to replace SNMP by making up for its shortcomings, the basic design is pretty much the same as that of SNMP. The general concept of a manager communicating with one or more agents holds true for CMIP as well. It is an intelligently designed protocol that defines the communication between a manager and a managed node in an object-oriented fashion. [22] CMIP was designed to run over the OSI protocol stack. The specification for using CMIP over TCP/IP is called CMOT (CMIP Over TCP/IP). There are, however, few 32 Managing Communication Resources ________________________________________________________________ implementations that run on TCP/IP. This is one of the reasons the protocol has not been widely used in LAN environments. [24] Variables, or objects, in CMIP can be seen as complex data structures. Just like in SNMP there are variable attributes and notifications, but there is also the ability to define variable behaviors in CMIP. These are actions that are triggered according to the value of a defined variable attribute. [22] GDMO, Guidelines for the Definition of Managed Objects, is a standard that is used to define the managed objects in CMIP based systems. Like in SNMP, the object definitions make up a management information base, MIB. This MIB is described using GDMO. It can be compared with the use of SMI in SNMP based systems. GDMO makes use of ASN.1 for the definition of syntax and attribute encoding rules when defining the objects. [26] The GDMO specification has to be transformed manually into programming language implementation. GDMO is by many considered to be a verbose notation. The argument is that even the simplest specification looks very complicated when defined in GDMO. [27] The following operations are supported by CMIP [22]: SET - set a value to a object GET - retrieve a value CANCEL_GET - cancel a GET operation CREATE - create an instance of an object DELETE - delete an instance of an object REMOVE - remove data from attributes ACTION - request that an action defined by an object occur EVENT_REPORT - an agent notifies a manager of a significant event The network management application can use the ACTION operation to set conditions which tell an agent that it wants to be notified when specified conditions are met. The agent will then respond with an EVENT_REPORT notifying the management application when this condition is fulfilled. [24] 33 Managing Communication Resources ________________________________________________________________ It is important to note that CMIP does not specify any functional areas of the network management application. Only the way the information is exchanged between the manager and the managed objects is defined. [24] A major shortcoming of early versions of SNMP that has been addressed in CMIP is security. There are security features in CMIP to support authorization, access control and security logs. The CMIP model is also object-oriented which is often a preferred model by developers these days. Another shortcoming of SNMP, that has been addressed, is the ability of the manager to tell the agent when it wants to be notified. In SNMP this would typically require the manager to poll the agent periodically to find this out. [22] On paper CMIP appears solid, however, as often in reality, the truth is another. The major drawbacks of CMIP is that because of the complexity it requires a lot of resources and is difficult to program. This has led to very few implementations outside of the telecommunications market. [24] 34 Managing Communication Resources ________________________________________________________________ 4.4 Remote Procedure Call 4.4.1 Background Remote Procedure Call, or RPC, allows one program to make use of a function from another program located somewhere else on the network. It is based on a client/server infrastructure. The RPC concept has been around for a long time. The first implementations started to appear in the late 1970’s and early 1980’s. Today there are two different RPC implementations that are in widespread use. [28][35] One of these is the RPC functionality implemented in the Distributed Computing Environment’s, or DCE. DCE is a set of distributed computing technologies developed by the Open Software Foundation. [33] The other prevalent implementation is found within Open Network Computing, also known as ONC. Work on this implementation was originally initiated by Sun Microsystems in the mid 1980’s and then handed over to the IETF for the purpose of standardization. Implementation exists for virtually all flavors of the UNIX operating system as well as Microsoft Windows and others. [29] 4.4.2 Description RPC uses a client/server model where the client is the program calling the function of the remote program which is the server. Most available RPC implementations use a synchronous protocol. What essentially occurs is that the client sends a request to the server, telling it to perform a certain function. The server performs the function then answers the client program. While the client is waiting for the server to finish, it is in a blocked state, just like a local function/procedure call. This can of course be avoided by employing things such as threads but it does increase the complexity of the application. Asynchronous implementations of RPC do not block the client after a request has been issued. They are however, very scarce at the moment. [28][29] 35 Managing Communication Resources ________________________________________________________________ Figure 4-4 The RPC implementation hides the networking details from the application programmer. To successfully compile a program that uses RPC, a stub is included. This stub appears to the program as the remote procedure. During execution the program calls the procedure and the stub receives the request. The stub then sends the request to a client runtime program. This program knows where and how to communicate with the server on the remote host. Finally the runtime transmits the request over the network to the remote host. [35][34] The server includes a runtime program and stub that interface with the remote procedure itself. Results are returned in a similar fashion. The routing tables used by RPC are static, and thus cannot be changed after compile time. [34][35] RPC is the management interface in the Desktop Management Interface, DMI, from DMTF, Distributed Management Task Force [4.5.1]. This is a standard way to manage desktop workstations. [89] It is not, however, widely adopted. 36 Managing Communication Resources ________________________________________________________________ CORBA, Component Object Request Broker Architecture from the Object Management Group, COM+ from Microsoft, and Java RMI from Sun are all examples of Component based middleware that make use of the RPC paradigm. These are perhaps the more commonly deployed technologies for remote execution today. CORBA is a platform independent standard and will be discussed further in the mobile agent section below. COM+ is Microsoft’s own component based framework and like most other Microsoft technologies it only runs on their own platforms. Java RMI is the remote execution framework included in Java. In later versions of Java CORBA is also being supported. 37 Managing Communication Resources ________________________________________________________________ 4.5 Web-Based Enterprise Management 4.5.1 Background Web-Based Enterprise Management, or WBEM, is an industry standard maintained by the DMTF. DMTF is an industry consortium in charge of development of management standards. The development of WBEM was originally initiated by a group of companies consisting of Microsoft, Intel, Compaq, Cisco and BMC with the goal of producing a framework for objectoriented system management over the Internet. In 1998 the companies decided to transfer the development of WBEM to the Distributed Management Task Force. [42] There have been concerns about the involvement of Microsoft in the standard since they are known for defending their own proprietary solutions instead of supporting open standards. [36] 4.5.2 Description WBEM was designed to prescribe enterprise management standards that work with existing network management standards like CMIP, SNMP and DMI [40]. A goal of the project was to provide a common information model for management. This information model is referred to as the Common Information Model, or CIM. [42][38] CIM is a conceptual information model. It is comprised of two parts, a specification and a schema. The CIM Specification refers to the formal definition of the model. This specification describes the language, naming and mapping techniques used to link CIM with other management models. The CIM Schema is the actual content. It describes the actual classes and relationships of the model. [43][37] The CIM Schema is divided into three layers, the Core Model, the Common Models and the Extension Models. These models are all defined in UML by the DMTF. [40] 38 Managing Communication Resources ________________________________________________________________ Figure 4-5 [42] The Core Model represents the notions that are generic to all management environments. The model is comprised of a small set of classes, associations, and properties that are common to all managed environments. [40] Figure 4-6 [90] 39 Managing Communication Resources ________________________________________________________________ Elements that a system consists of can be either logical or physical. Logical elements are abstractions often used to represent the capability or state of a system. Physical elements are elements that occupy physical space. The Common Models are defined to address specific areas. The Common Models are Systems, Devices, Networks, User, and Applications. These represent the corresponding devices they are named after. An application is abstracted by an application model and so forth. The Extension Models are defined as additions upon the Common Models. These models are even more specific then the Common Models. They often have close ties to certain environments, such as operating systems like UNIX or MS Windows. [40] Figure 4-7 [91] The transport mechanism used in WBEM is referred to as “CIM Operations over HTTP” and is specified by the DMTF. This specification maps CIM operations onto the HTTP protocol. The encoding specification is called xmlCIM. It is used to define XML elements 40 Managing Communication Resources ________________________________________________________________ that represent CIM classes and instances. [37][43] XML stands for eXtensible Markup Language. It is used to represent structured data in text. WBEM has potential to unify the network management world under one information model. It can integrate with existing platforms such as SNMP and CMIP. With companies such as Cisco and Microsoft pushing for wide implementation it has as good backing as any. Presently the real world implementations of WBEM are scarce. 41 Managing Communication Resources ________________________________________________________________ 4.6 Mobile Agents 4.6.1 Background A problem with many of the traditional network management solutions in wide spread use today is their centralized client/server nature. The most popular solution, SNMP, is a very good example of this paradigm. (Note: with the exception of DISMAN) SNMP agents are servers from which clients can access specific information defined in MIB’s. These MIB’s, and other agent services, are defined during the design of the agent. Often the SNMP network management station, or client, can only invoke agent services defined in general-purpose interfaces. This leads to a large number of interactions where the manager has to take the agents through the steps involved in gathering information and taking management action. In essence the manager is controlling the remote execution every step of the way. This is referred to as micromanagement. [44] The type of centralized platform found in SNMP creates a vulnerable network management system by relying to heavily on the availability of the network management station. If this station becomes unavailable to the agents, they will be unable to perform recovery operations because these operations essentially have to be initiated by the network management station. [44] As the network grows and more devices need to be managed bandwidth consumption becomes an increasing problem for the network management station.[62] Increased bandwidth can cause the network management station to become unavailable for the agent. This is because the network management station becomes a bottleneck, as all management information and decisions has to pass through it. As a result, the agent is prevented from performing recovery operations. These scalability and flexibility issues have created a demand for decentralized network management systems. There are many different approaches to the problem. Systems based on CORBA [73], Active Networks, Intelligent Agents, Mobile Agents, or a combination of these, 42 Managing Communication Resources ________________________________________________________________ are some of the more commonly proposed solutions. [66] A lot of effort has also gone into trying to decentralize SNMP management. (DISMAN, etc. See SNMP section of this paper) 4.6.2 Description In order to describe a mobile agent it is a good idea to explain what a software agent is. This can be a controversial matter. [72] A definition favored by the author is used [68] to define a software agent, as a computational entity, which acts on behalf of others, is autonomous, proactive, and reactive, and exhibits capabilities to learn, cooperate and move. To find out more about the many classifications and definitions of software agents refer to [56]. Building on the earlier definition of a software agent, a Mobile Agent can be defined as a software agent that can move between locations. [68] A more generalized description of a Mobile Agent is: a small software program that is able to migrate between hosting computers during its execution whilst maintaining across the network. [66] FIPA and MASIF are the two common standards that exist in the agent field. FIPA stands for the Foundation for Intelligent Physical Agents. It is actually an organization that produces standards aimed at interoperability between different software agents. Their work has a strong focus on intelligent agents rather than mobile agents. MASIF, Mobile Agent System Interoperability Facility [4.6.4], on the other hand is a standard for mobile agents. It focuses on interoperability between different mobile agent frameworks. MASIF will be described in this paper as it deals directly and specifically with mobile agents. The proposals put forth by FIPA will not be discussed. To read more about FIPA see [87]. 43 Managing Communication Resources ________________________________________________________________ 4.6.3 Agent Mobility 4.6.3.1 General The obvious function that separates a mobile agent from a stationary agent is the agent’s ability to move. A mobile agent can migrate from one node to many others during its lifetime. During this migration, both the code and the current state of the agent, have to be transferred. Without both of these, the agent cannot resume execution in the right place once it arrives at the destination node. The state of an agent can be described as two parts, the data state and the execution state. The data state is defined as the arbitrary content of the global or instance variables while the execution state is the content of the local variables, parameters and execution threads. There are two degrees of mobility. These are referred to as strong and weak migration. [58] 4.6.3.2 Strong Migration Strong Migration is the highest degree of mobility. When a mobile agent migrates using strong migration both the agent code and the entire agent state is transferred to the new location. The entire agent state is the agent’s data state and execution state. The state of the agent is then restored once it arrives at the destination. This requires a fair amount of resources for the agent platform, but makes things simple for agent developers. [58][36] 4.6.3.3 Weak Migration The Weak Migration scheme differs from the strong migration in that only the agent’s data state is transferred along with the code. This approach requires fewer resources for the agent platform than the strong migration scheme. However, it also means that the agent developers have to save data pertaining to the agents execution state in variables. [58][36] 44 Managing Communication Resources ________________________________________________________________ 4.6.4 OMG MASIF 4.6.4.1 Background MASIF stands for Mobile Agent System Interoperability Facility. It is the first standard concerning mobile agents and is maintained by the Object Management Group, or OMG. [59] OMG is the same group that maintains the CORBA standard. [73] The basis for MASIF is to provide a platform neutral standard for interoperability between mobile agent systems. [68] When the OMG first requested proposals for a mobile agent framework they outlined several requirements that had to be met in order for the framework to be accepted: Marshalling and un-marshalling of agent programs Encoding of agent containers for transport Transport of agents from one agent facility to another Runtime registration and invocation of agent facilities Runtime query of named agent facility by agents Runtime security of agents In 1997, Crystaliz, General Magic, GMD FOKUS, IBM and The Open Group submitted a joint standard for mobile agents to OMG. This was approved by a vote in 1998. The current specification is dated 00-01-02. The concept behind this standard was to achieve some degree of interoperability between different mobile agent platforms. MASIF was never intended as a basis for a mobile agent platform. It was designed to provide a specification which existing systems could utilize as an “add-on” to reach greater interoperability. [57] MASIF relies heavily on the CORBA. [55] This architecture allows applications to communicate with each other in a network even if they are from different vendors. CORBA uses an Object Request Broker, or ORB, to establish client/server interactions. A client may use an ORB to transparently invoke a method on a server object. This server object can be located on the same machine or somewhere else on the network. The ORB intercepts the 45 Managing Communication Resources ________________________________________________________________ method call from the client. It locates the server object, calls the method and passes the parameters to the server object. Finally it relays the results of the method back to the client. The client does not have to be aware of the location of the server Object, it’s implementation details such as programming language, operating system or anything else that is not part of the systems interface. A more detailed description of CORBA is beyond the scope of this paper. For more detailed information about CORBA and related resources see [73]. 4.6.4.2 Description The model of the distributed agent environment in MASIF consists of agent, agent system, place, region and finder. An agent is a mobile agent. An agent system is the platform where the agents execute. A place is a context within an agent system in which an agent is executed. A finder is a registry for locating agents, places, and agent systems. A region is a set of agent systems with a finder. [55] MASIF provides for each mobile agent or group of mobile code to identify itself with either a language or execution environment requirements. This enables interoperability between different platforms. [68] The MASIF standard addresses the following areas of mobile agent technology: Agent Management Agent management provides a way for an agent system to control agents from another agent system. MASIF solves this by relying on interfaces. These interfaces define actions for suspending, resuming, and terminating agents. [55] Agent Tracking Naming Services of different agent systems are utilized to register agents and thus enabling them to be traced. [55] For this an interface called the MAFFinder interface is used. This interface provides the ability to register agent systems, places, and agents in a region registration component. Agencies and places are only registered once. Mobile 46 Managing Communication Resources ________________________________________________________________ agents on the other hand, are de-registered before they migrate then registered again once they arrive at their new location. Any agent within the region can be located by using lookup methods provided by the MAFFinder interface. [57] Agent Transport MASIF provides methods for receiving agents and fetching their respective classes. [55] These methods are defined in the MAFAgentSystem interface. [57] Agent and Agent System Naming MASIF specifies a standardized syntax and semantics used to name agents and agent systems. This allows agents and agent systems to identify each other and allows clients to identify agents and agent systems. [57] Agent System Type and Location Syntax The agent system types give information related to specific aspects of agent systems. An agent has to determine whether or not the agent system that it is about to migrate to supports the execution of this agent. If it does not, then the agent may not migrate to that specific destination. The location syntax is also has to be standardized so the agent systems can locate one another. [57] 47 Managing Communication Resources ________________________________________________________________ Figure 4-8 [57] The MASIF standard specifies how existing CORBA services can be utilized by components in agent systems to provide better functionality. The MAFFinder and the MAFAgentSystem CORBA interfaces make up the core of the MASIF standard. As mentioned earlier, the MAFFinder interface supports the localization of agents, agencies, and places that reside within the same region. It is a registered CORBA object so a client can use the interface methods to locate and communicate with an agent. The MAFAgentSystem interface provides operations to transfer and manage agents. [68] For a more detailed description of the interfaces, see the current Mobile Agent Facility Specification available from the OMG. 4.6.5 Mobile Agents for Managing Networks 4.6.5.1 General The area attracting the most interest from researchers within the network management field is management based on some form of strongly distributed paradigm. Goldszmidt [44] laid 48 Managing Communication Resources ________________________________________________________________ down the ground for the research in this area. He proposed a framework called Management by Delegation. The idea behind this research was simple. As the resources and power of networked computer systems and devices increased, the processing could be moved out from the management stations to the agents. The idea of mobile code for network management was introduced in the Management by Delegation framework. Mobile agents, in the sense of network management, are in theory based on the mobile code paradigm. The basic idea behind the mobile code paradigm is that programs can be dynamically transferred to management agents whom in turn can execute the programs. [36] There are currently many different people and places involved with researching Mobil Agents for Network Management systems, such as the Network Management and Artificial Intelligence Laboratory in the Department of Systems and Computer Engineering at Carlton University in Canada. The main idea behind mobile agents in this field is to get the management intelligence out to where it is needed. This means that instead of a central manager polling a node for information and deciding what should be done after examining that information, a mobile agent is dispatched to a node. The agent gathers and examines the necessary information then decides what should be done. [64] In SNMP, the MIB structure is implemented by the SNMP agent code. This results in a “hard coded” agent that cannot be changed at runtime. A mobile agent can be removed and another agent, with other functionality, can be created and deployed with minimum interruption, if any, to the rest of the system. This significantly increases the management flexibility. [48] 4.6.6 Advantages of Mobile Agents 4.6.6.1 General In order to provide more detailed information about the benefits of using mobile agents to manage a network, the paradigm can be analyzed for the functional areas described in the OSI 49 Managing Communication Resources ________________________________________________________________ management model. [68] The usage of mobile agents within three of these areas will be examined here. Accounting Management and Security Management with mobile agents will not be discussed. There are many types or classifications of mobile agents. This paper will only discuss two of them. These are deglets or netlets. Deglets are sent to a remote location with a certain task to perform. Once the task has been performed and the agent has achieved its objective it terminates. The name deglet comes from delegation of authority. The name netlets comes from network agent. Netlets are persistent agents that migrate between network elements and executes on each of them. [73] They are used to perform delegated tasks of a more permanent nature. Netlets are considered a part of the network infrastructure. [68] 4.6.6.2 Fault Management Fault management is an example of a discovery task. The fault has to be located before it can be recovered. A mobile agent can detect faults by constructing a specialized model of the network. If a violation of what the agent believes to be normal behavior is detected then the agent initiates a fault detection function. Once a fault has been detected the agent may ask for a special network repair agent to attempt to recover from the fault or it may attempt to perform the recovery operation itself if possible. If this recovery is unsuccessful or is beyond what the agent can handle, i.e. requires human involvement, the network manager would be notified. An example of using mobile agents in the fault management area: A mobile agent can perform selective discovery of nodes with excessive utilization and use this information to build a model of over-utilized nodes. [68][54] 50 Managing Communication Resources ________________________________________________________________ 4.6.6.3 Configuration Management Mobile agents are useful in the implementation of plug-and-play network components. Often a manager has to perform all of the required tasks manually. With mobile agents a network can get closer to a self-configurable network. Adding a new printer to a network is a good example. In order to use the printer the workstations on the network have to have the drivers for the printer. The workstations in the network environment run different operating systems. A few might be UNIX workstations while others are from Apple, running MacOS, and some are PC’s running different versions of Microsoft Windows operating system. This creates a heterogeneous network environment not unlike what exists in many organizations today. Mobile agents can be used to detect and identify the new printer. They can then distribute the correct drivers to the appropriate workstations by migrating to them. Lets assume the network is connected to the Internet. Then the agent could retrieve the correct driver from the printer manufacturer via the web. [68] 4.6.6.4 Performance Management In a centralized network management system it is often hard to measure the actual performance of various aspects of the network. This is an effect of the delays that are present in the centralized systems. The manager has to poll for the necessary information and then analyze it. This has an impact on the precision of the measurements. A mobile agent, on the other hand, can be dispatched to the node to both gather and analyze the information thus eliminating delay and increasing precision. Using mobile agents to measure network performance may hamper the actual performance if too many agents are deployed into the network. It is therefore important that the infrastructure puts reasonable limits on the deployment of mobile agents as precaution. [68] 51 Managing Communication Resources ________________________________________________________________ 4.6.7 Problems with Mobile Agents 4.6.7.1 General The biggest cause for concern in mobile agent systems is security. [74] Extensive research is conducted in this area and the subject is too complex for this paper. Simply put: the security problem can be eliminated if no hostile agents are allowed to enter the network. The second biggest cause for concern is the danger of agents flooding the network. [74] 4.6.7.2 Agent Flooding Agent flooding occurs when migrating agents use too much of the networks bandwidth. One of the causes for this is when agents are allowed to live forever. The agents then roam around the system often outliving their usefulness. This costs system resources as well as bandwidth. Another cause for flooding is when agents are allowed to produce child agents. These child agents can quickly cause flood related problems and heavy resource consumption, if they behave in the same manner as their parent agent. [96] In order to prevent flooding a mobile agent system has to guarantee that once an agent has outlived its usefulness it will return home or die. One way to accomplish this is to give the agent a time-to-live, similar to the way the IP protocol handles datagrams. The side effect of this solution is that agent cannot roam around the network forever, which is sometimes preferable. [97] The system may also have density checks in place. If too much traffic is detected from a particular type mobile agent then some of these agents are intercepted and destroyed. If the density is too low then agents can be injected into the system. [74] Another solution is to let the originating node decide when an agent has outlived its usefulness. The down side to this is that it can be difficult for this node to know when to 52 Managing Communication Resources ________________________________________________________________ terminate the agent. It also means that a node has to have knowledge of where the agents originating from the node are, or at least be able to contact them. If an agent is allowed to produce child agents then their lifecycle has to be determined as well. One solution is to let their life be controlled by their parent. When the parent dies so does the child, or if the parent decides that the child agent has outlived its usefulness then the parent can terminate the child. This does however imply that the parent is able to locate the child agent. [96] 4.6.8 Integration with legacy technologies/protocols 4.6.8.1 General In order for mobile agents to be able to communicate with the managed devices in current networks they must be able to interface with the devices. The simplest way to do this is to use one of the legacy protocols that the device already supports. This requires the mobile agent to be equipped with the functionality to communicate via these legacy protocols. The two most commonly deployed management protocols in use are SNMP and CMIP. Since the SNMP protocol is the most commonly used protocol in IP based networks, a mobile agent that operates in such a network should be able to interface with a traditional SNMP agent. CMIP implementations are usually limited to telecommunications networks and therefore this paper will not examine the interoperability between CMIP and mobile agents any further, but the principles are very similar to the SNMP interoperability. 4.6.8.2 Integration with SNMP There are three areas where SNMP support can be beneficial to a mobile agent system. The first area is allowing mobile agents to interact with SNMP agents. This requires some sort of SNMP manager functionality to reside in an agent system. The second area is being able to 53 Managing Communication Resources ________________________________________________________________ use SNMP manager to communicate with mobile agents, and the third is the ability to administer the mobile agent platform using SNMP. [84] The former two areas are important in order to use legacy management systems side-byside with the mobile agent platform. Providing mobile agents access to SNMP agents is important in order for mobile agents to manage existing devices that currently utilize SNMP agents. This requires a part of the mobile agent system to act as SNMP manager towards legacy agents. This information is then relayed to interested mobile agents throughout the region. This manager may in it self be a mobile or stationary agent. An agent system might have a stationary agent that communicates via SNMP with a SNMP agent from a device connected to the system. This stationary agent could be a mobile agent that has been dispatched to the agent system but which does not migrate further. A mobile agent could communicate with the stationary agent using inter agent communication. The stationary agent would then in turn pass the instructions on to the SNMP agent via SNMP. The SNMP agent would respond to the stationary agent that would communicate back the results to the interested mobile agent. If the SNMP agent does not have any defined traps, a stationary agent would not be required at all. However, in order to receive traps from the SNMP agent, a stationary agent would be required to stay at the same agent system and listen for incoming notifications. Mobile agents could then register for traps they are interested in and the stationary agent could in turn let them know when it has received a trap that interests a particular mobile agent. The JAMES mobile agent platform [85][86], developed by the University of Coimbra and Siemens, use a similar scheme to provide interoperability with legacy SNMP agents. This is described further in [66] and [84]. 54 Managing Communication Resources ________________________________________________________________ 4.6.9 Agent Platforms There are a few commercially available mobile agent platforms on the market today. None of these are however, primarily focused on network management. Most are java based because of the many advantages offered to a mobile agent platform by java, in particular platform independence. Some of the more prominent platforms are: Aglets SDK from IBM Grasshopper from IKV [94] Jumping Beans [95] The Voyager System [93] 55 Managing Communication Resources ________________________________________________________________ 5 Review/Evaluation 5.1 General The MSBL communications system has certain needs outlined in above sections. FMV, the government agency that purchases the equipment and has contracted Data Unit to develop MSBL, also has some requirements and wishes for the management solution. The management solution is referred to as “Management interface for MSBL” in the internal documentation. FMV have placed the following requirements on the management solution: The interface should be standardized and well documented as to easily enable further development and interoperability in the future. The management solution should consume as few internal project resources as possible. (Read: should be as cheap for them as possible, the “money vs. all else” argument) Possible future devices and alternatives should be simple to implement into the system. The network that handles the management traffic will be secure. This means it is assumed that the network is free from any hostile party whatsoever. The interface should fit nicely with the component and object oriented model used in MSBL. The resource consumption should be kept at a reasonably low level. 56 Managing Communication Resources ________________________________________________________________ 5.2 SNMP 5.2.1 General When evaluating SNMP for use in any system it is important to take into consideration the different versions of the framework. While SNMPv3 might seem like the obvious choice that is not the case. This is because it has not been widely deployed yet. SNMPv1 still holds the throne as the most popular management solution in IP based networked environments. As a result of this many applications only contain support for SNMPv1 and perhaps one of the SNMPv2 versions but SNMPv3 support is still lacking in most places. MSBL will communicate with the managed systems over a secure network. Secure in the meaning that there will be no hostile hosts on the network. Since SNMPv3 is basically SNMPv2 with security and access control and MSBL does not consider management protocol security a major concern, SNMPv2 and SNMPv3 can be looked upon in an either/or kind of way. 5.2.2 Positive aspects SNMP is a widely used standard. Many developers are familiar with how it works and there are plenty of development resources available. In IP based networks, SNMP is the “defacto” management standard. Since it is such a widespread standard, there are many tools available to aid in the development of SNMP. MIB specifications for the agents are not simple but there are plenty of tools that simplify the design of these as well. API’s for implementing programs that communicate over SNMP are available in many different languages and varying price ranges. This significantly simplifies the development of the maneuvering servers in MSBL. 57 Managing Communication Resources ________________________________________________________________ While not object oriented, SNMP can be made to appear as though it were through the use of clever development. The functionality of get and set can easily be hidden behind object method calls. The object/component modularity is a big part of MSBL and therefore SNMP could be made to fit into the design in a “pretty” fashion. Some of the systems MSBL will manage are already being developed to use SNMP. This means a maneuvering server might not be needed for these if the decision to use SNMP is made. This would require less work, which in turn means less human resources. One consideration in the protocol decision is the ability to manage the maneuvering servers from other systems. There are many off-the-shelf management software applications, such as HP Openview, that support SNMP management. 5.2.3 Negative aspects MSBL is very much designed as an object oriented and component based system. SNMP, on the other hand, is not an object-oriented protocol by design. This could lead to an “ugly” patchwork to an otherwise nicely laid out object-oriented system if proper care is not taken during the design. SNMP, especially SNMPv1, is not exactly a bandwidth efficient protocol. MSBL will be managing all currently planned systems over 10+ Mbit Ethernet connections. This will most likely be sufficient bandwidth to handle a few maneuver servers but it will not scale as well as some of the other alternatives. It is also worth noting that if it is decided that MSBL is going to manage other legacy or future systems that use other interfaces besides Ethernet, one with lower available bandwidth, then this could turn out to be a bottleneck in the management system. 58 Managing Communication Resources ________________________________________________________________ 5.3 CMIP 5.3.1 General MSBL is ultimately concerned with managing the radio stations and other devices used to transmit information. Because the CMIP framework is a telecommunications standard and widely adopted within the telecommunications industry, some of this equipment might already be manageable by CMIP. MSBL will never talk to them directly but instead, it will be communicating with the systems described earlier. None of these presently support CMIP. This is important to keep in mind when evaluating CMIP for use within MSBL. 5.3.2 Positive aspects Presently no known apparatus that need to be managed from MSBL communicate by CMIP, there is always a chance that MSBL will have to be able to manage some devices or systems in the not-too-distant future that utilize CMIP. The manager within MSBL will run on a PC with plenty of resources. This means that the manager (maneuvering client) will have enough resources to run CMIP properly. The CMIP framework is standardized by ISO and the ITU, International Telecommunications Union. This has lead to support in off-the-shelf management software like HP Openview. This may not seem important since MSBL will be the management software but this can only be a good thing when considering the management needs might change in the future. If, or rather when, that happens there will be options available. The security model in CMIP is strong. Although the security aspects of the management protocol are not a main concern for MSBL, extra security should always be welcomed. CMIP is an object-oriented framework. This fits nicely with MSBL since it has been designed as a component based object-oriented system. 59 Managing Communication Resources ________________________________________________________________ 5.3.3 Negative aspects The resource consumption of CMIP might cause a problem on the maneuvering servers in MSBL, but most likely not. MSBL will utilize fairly modern PC machines as maneuvering servers. These are expected to contain enough resources to handle the consumption of CMIP. In the future, other hardware or devices may be deployed which do not contain the amount of resources needed to sustain a CMIP based agent. CMIP is a complex protocol. This makes the implementation of CMIP a complicated procedure that will in most cases require extensive new skills from the developers and programmers involved with the project. The current members of the MSBL project group have little or no knowledge of the CMIP framework. Inevitably this will lead to higher development costs, which should always be minimized. Although it is a standard, CMIP is not widely adopted in IP networks. This is not a real big problem in itself, more of a cause to the small selection of tools available to aid developers. This in turn could be a major concern. GDMO is a not an easy notation to understand. Defining the structures required for MSBL in GDMO and then manually implementing them from the specification is a complex task. This will consume time. It will also require knowledge that is not present in the current project group. 60 Managing Communication Resources ________________________________________________________________ 5.4 RPC 5.4.1 General MSBL is going to manage ICS 2000. This system currently uses RPC for remote management operations. This means RPC will be an issue regardless if it is chosen for the management framework or not. If it is not choosen, then the maneuvering server for the ICS2000 will have to proxy between the management protocol and RPC operations. Other middleware that relies on the RPC paradigm such as CORBA, Java RMI, and Microsoft’s COM+ architectures can be considered for management operations in MSBL. The system already relies heavily on COM+ for other functionality. 5.4.2 Positive aspects ONC RPC is standardized and there are implementations and development tools available for many different platforms. Management with RPC is fairly simple to understand in principle. Designing an objectoriented framework for RPC based management functionality doesn’t require knowledge of MIBs, GDMO, SMI, etc. COM+ is already used heavily within MSBL. Extending the use of this middleware to handle the management functionality seems like a logical step from a development perspective. This would make for a rather natural evolution of functionality that would fit nicely with the rest of the system. 61 Managing Communication Resources ________________________________________________________________ The CORBA middleware architecture is a commonly recognized standard and not platform dependant. A defined set of CORBA interfaces can form a definition of the management functions. 5.4.3 Negative aspects While RPC is standardized (ONC, RPC), using it to manage devices/systems in a network is not. In order to gain some sort of conformity, a standard set of procedure calls would have to be defined. These would have to be well documented for future interoperability. The above statements are true for CORBA as well. While there are plenty of research and some implementations using CORBA for management purposes, it is not possible to access the remote components from a general-purpose manager as is possible with SNMP and CMIP. A COM+ based solution would be even worse from the interoperability perspective. While there exists workarounds to get COM+ components running on other operating systems than Microsoft’s, they are exceptions. Microsoft designed COM+ for use on the different Windows based systems and platforms. This is fine on the client end where MSBL will run on PC’s with Microsoft Windows NT 4.0 installed. On the maneuvering servers, however, it is good to keep as many options of operating systems or even hardware architectures as possible. 62 Managing Communication Resources ________________________________________________________________ 5.5 WBEM 5.5.1 General WBEM is a fairly new concept to many. This makes it hard to determine whether the protocol will succeed or not. SNMP became popular in large part due to its own simplicity. WBEM is a more complex solution, yet more modern and supports features missing from the older management frameworks. 5.5.2 Positive aspects WBEM is perhaps the most object-oriented solution of all the alternatives. This is ideal for a system like MSBL that makes heavy use of object oriented and component based design. With the backing of companies like Cisco and Microsoft it is hard, but not impossible, to see how WBEM could fail to gain significant “market share”. These companies produce products that make up a significant amount of many networks. If they implement WBEM in their own products many other manufacturers would most likely follow suite. The interoperability with SNMP and CMIP that WBEM attempts to support means legacy protocols can still be managed with WBEM. 5.5.3 Negative aspects To be fair, the WBEM framework has great potential. However, presently it lacks the widespread deployment that SNMP has. It is still unclear whether the standard will actually succeed in real world implementations. 63 Managing Communication Resources ________________________________________________________________ 5.6 Mobile Agents 5.6.1 General Mobile agents do not really fit into the criteria outlined by FMV. These criteria are concerned with the interface used for management more then the actual solution. Mobile agents do not employ the standard client/server relationship that is the basis of the requirements for MSBL management. MSBL needs to control specific aspects of specific radio stations and other devices in order to establish communication channels. A mobile agent can be sent to a system for each active transmission device in that system. 5.6.2 Positive aspects Mobile agents place the management functions close to where they are needed. In the case of MSBL, a mobile agent would migrate to maneuvering servers and communicate with the transmission devices connected to the system. This would reduce network traffic from MSBL to the maneuvering servers. The major benefit of delegating management functionality from MSBL is fault recovery. The system becomes less reliant on the maneuvering client in MSBL for recovering from faults in the nodes. Once a mobile agent has migrated to a node it can detect and attempt to recover from a fault without involving the maneuvering client. There are commercial implementations of mobile agent platform that can be deployed rather quickly. The maneuvering servers should be able to handle some of these effectively. The amount of research concerning mobile agents for network management seems to indicate that mobile agents have a future in the management field. While blindly following 64 Managing Communication Resources ________________________________________________________________ the latest trend is not be considered wise, supporting a possible, yet unknown, future device is. Achieving a high level security on a mobile agent platform can be tedious. Since the management functions of MSBL operate over a secure network, the security aspects can be given low priority. 5.6.3 Negative aspects Mobile agents do not really define a standard interface for management. If the agent platform is MASIF compliant the managing of agents is standardized via CORBA interfaces but the actual management performed by the agents would still need to be defined. This is so the systems, manageable by MSBL, can be managed by other applications without a lot of extra implementation work. The current mobile agent platforms are mostly used for research purposes. Actual “realworld” implementations of mobile agent platforms for network management are hard to find, at least when compared with some of the other alternatives. The resource consumption for a mobile agent platform is higher then any of the other solutions. There is a possibility that this may cause a problem. 65 Managing Communication Resources ________________________________________________________________ 6 Recommendation 6.1 General The criteria for the selection of management protocol clearly show that SNMP has been considered as the management interface by FMV. This gives the whole process a tipped scale since another protocol essentially have to fill the criteria better a protocol that was considered when deciding the specific criteria. A solution based on SNMP is recommended for MSBL because: Favored by FMV Already used by some of the equipment/system manufacturers Widely accepted standard The network is considered secure, hence security within the protocol is not a major issue The shortcomings of SNMP, namely the bandwidth usage and lack of security does not appear to be major concerns for MSBL. The “defacto” standard factor weighs in really heavily in the selection. If WBEM or CMIP held this position in IP based networks then they would reap the benefits in terms of development tools and more widespread knowledge about the respective platforms. This would tip the scale over in their favor considerably. Deciding which version of SNMP that should be used is tricky. SNMPv3 provides the better security with authentication, privacy and access control. These however, are not major concerns in the MSBL management environment and thus SNMPv2 might as well be used. CMIP falls on the fact that it has not gained widespread use within IP based network environments that in turn have lead to fewer development tools. 66 Managing Communication Resources ________________________________________________________________ RPC was a viable option and still is since it is already used in ICS2000. SNMP is favored over RPC because SNMP allows management via off the shelf products where as RPC requires a “custom” implementation in order to communicate via RPC. WBEM has great potential as a management standard. The author got the impression that WBEM is too complex and thus requires too much human resources. Since the standard has not reached the acceptability that SNMP presently enjoys in networked environments, it is hard to find tools that support it. 6.2 Mobile Agents in MSBL When a transmission device is needed in MSBL, it is allocated on request. A mobile agent can be used to represent an active device. When MSBL selects a transmission device, a mobile agent is sent to the maneuvering server in charge of controlling that device. The agent sits there until the device becomes inactive. Another type of mobile agent could be used to roam the maneuvering servers testing transmission devices for failures. When a fault is detected the agent could attempt to fix it. If this fails it could notify MSBL that a device is not functioning correct. The recommended SNMP based management system can be extended to use mobile agents. This can be achieved in a relatively smooth way by setting up a mobile agent platform that spans the maneuvering servers. The mobile agent would communicate via SNMP with the stationary SNMP agent that resides on the maneuvering server. In MSBL the SNMP management services are hidden behind device abstractions. This means that the end user and higher implementations are only concerned with the device chosen for transmission, how it is managed is not any of their concern. When the system selects a device to transmit or receive on it sees this as an object representing for example a 67 Managing Communication Resources ________________________________________________________________ specific radio. It sets the parameters using the objects methods. The SNMP functionality lies beneath this. This layer could be exchanged with new objects/components that would use the mobile agent platform instead. MSBL could even manage some devices by SNMP and others with mobile agents with this approach. This would have minimal impact on the rest of system, in large part due to the modular design of MSBL. Instead of using SNMP these objects would use some other interface, such as CORBA method calls, to access the agent platform. Another way would be too use a proxy for the SNMP communication from MSBL. MSBL would use SNMP much like it is recommended. This SNMP communication would be toward a proxy, which in turn handles the mobile agent communication and deployment. This solution allows MSBL to maintain full SNMP functionality while also leveraging the advantages of mobile agents. Presently however, a management system utilizing mobile agents whould be too much for MSBL. The system operates on a small network closely conencted to the managed nodes. Thus full-scale mobile agent system is not economically justifiable. 68 Managing Communication Resources ________________________________________________________________ 7 Proposed solution 7.1 General In order to test the desired management solution, a simulator has to be developed. The simulator will be used to simulate the devices that do not presently exist for MSBL. These are HF2000, VLF, and ICS2000. The simulator will simulate the maneuvering server and the management interface will be SNMP. 7.2 Simulator Some of the general requirements of the simulator are: The simulator should be configurable to appear as HF2000, VLF, or RaSwitch (another name for the ICS2000 system). There should be a graphical MMI for locally controlling the aspects of the simulator. The above includes setting a base value for a property of a device type and resetting or assigning a new value to a property of a specific instance of a device. All the management operations should be logged in a predefined format. The first aspect involved in designing this simulator is to produce a MIB for the specified systems. There will only be one MIB representing all the possible communications devices that are managed by each system. The MIB will have to contain tables for devices of the following types: Very Low Frequency Radio (vlfRadio) 69 Managing Communication Resources ________________________________________________________________ High Frequency Radio (hfRadio) Very High Frequency Radio and Ultra High Frequency Radio (vhfUhfRadio) Crystal Controlled Radio (xtalRadio) Antennas (antenna) Modem (radioModem) Communications Switch (commSwitch) The MIB tree containing these device types will be structured under the enterprise node. MIB’s normally have to be registered but not if they are located under the enterprise node. The general information about the system will be found in an entry called rrcsIdent. Here information about who made the system, what name and version it has, what version of SNMP it uses etc will be found. The next node is an entry called interface. This node contains an object, ifNumber, which keeps track of the number of interfaces in the system. It also contains a table named ifTable. This table contains general object pertaining to the status and type of the interface. It also contains an index key, ifIndex. From this index and the type found in the table the specific information contained in other tables can be gathered. The other tables are grouped under nodes radioInterface and utilityInterface. Under the first are vlfRadio, hfRadio, vhfUhfRadio, xtalRadio and antenna. Under the later are radioModem and commSwitch. These tables contain specific information pertaining to that specific type of device. There is also another node called notification. Traps can be found under this node. There are two traps for every device type. One for notifying of failed status and one for notifying resurrected status. rrcs -rrcsIdent -name -etc.. 70 Managing Communication Resources ________________________________________________________________ -interface -ifNumber -ifTable -index -type -etc.. -radioInterface -vlfRadioTable -index -specific property etc.. -hfRadioTable -index -specific property etc.. -vhfUhfRadioTable -index -specific property etc.. -xtalRadioTable -index -specific property etc.. -antennaTable -index -specific property etc.. -utilityInterface -radioModemTable -index -specific property etc.. -commSwitchTable -index -specific property etc.. -notification -rrcsIdentFail -rrcsIdentOk -vlfRadioFail 71 Managing Communication Resources ________________________________________________________________ -vlfRadioOk -etc.. The overall structure of the MIB is fairly standard. Most of the SNMP MIB’s for different equipment and devices available today are structured in a similar manner. The next step is to find a programming library that can be used in the implementation of the simulator. It was a requirement that the simulator should be written in C++ and hence a C++ API is needed. Cost is always an important issue. Because of that, the library should be as cheap as possible, preferably free. The library selected is SNMP++. It is a free implementation in C++ originally by HP. To aid in the simulator development another free library, Agent++, is used. This library can be used in conjunction with SNMP++ and a utility called AgentGen to generate C++ classes from the MIB file. This significantly reduces the time spent doing mostly copypaste/search-replace related work required when transforming the MIB data to C++ object structures. These classes make up the core of the simulator. The simulator consists of two parts. A graphical MMI for controlling the objects locally, that is without using SNMP, and the actual SNMP agent containing the core classes and the SNMP communication. The agent part is a COM component written in C++ and the MMI is a GUI written in C# that controls the agent by using COM methods. The agent can be loaded with different configuration files depending on which system it should simulate. This configuration file is modeled as a windows “.ini” file and only documented through comments inside the file. Through the MMI a user is able to initialize an agent with a selected configuration file. 72 Managing Communication Resources ________________________________________________________________ Figure 7-1 A command prompt based MMI is also available with the same functionality as the graphical MMI. This command line based MMI is written in C++ and utilizes the same agent COM object as the graphical MMI. 73 Managing Communication Resources ________________________________________________________________ 8 Result 8.1 Analysis This paper focuses on which management solution MSBL should use for managing devices. The criteria provided for the management solution was geared towards the legacy protocols, such as a SNMP based solution, from the beginning. This makes it hard for some of the newer technologies like WBEM and mobile agents to meet the requirements. All the solutions have their advantages and perhaps the added functionality of other simultaneous management solutions should be considered as well. The final product is a piece of software that simulates an SNMP agent. At first it might seem rather trivial, especially since much of the code for this agent was generated using a utility. However, the agent fully simulates the functionality of the described systems. It should not do anything fancy that a real SNMP agent placed at a maneuvering server would not do. In the real systems there will be some communication with other communication channels. For instance, one of the systems was to receive messages over SMTP. When a message had arrived, a property in the SNMP agent would be set and the agent would generate a trap. This functionality is currently missing in the agent. Presently a user has to set the property from the MMI and then the agent will generate a trap. It was decided that this would be left out due to lack of time. The level of detail in the description of the solution based on mobile agents is not that high. Perhaps this should be a full-blown design of an agent platform that MSBL can utilize. The WBEM management alternative was also not examined as thorough as the others. This is in part due to the complexity of the model and the abstract nature of WBEM. Hopefully, in a few years, more material and implementations supporting WBEM will be readily available. The amount of detail about the actual simulator and the devices is not very deep either. The MIB is not provided as a supplement to this paper for instance, and neither is the requirements 74 Managing Communication Resources ________________________________________________________________ specification for the simulator. This is because some of the material is sensitive due to its military nature. Hopefully the paper provides enough detail for the reader to get an understanding of the systems and the how the simulator works regardless of that some of the more technical specifications are left out. As a final note it should be stated that network management of data networks is presently totally dominated by SNMP, and probably will be for some time to come. This is why almost any other solution will have to provide interoperability with SNMP. It is therefore rather “safe” to go with SNMP, an old inefficient but very well established standard. 8.2 Future Work Any of the management protocols could still be considered for future use in order to extend MSBL’s management capabilities. The most lucrative work, from the author’s point of view, would involve creating a mobile agent based framework that can communicate using SNMP with both SNMP agents and MSBL. A generalized description of such a system is provided in this paper but a more detailed design would have to be developed. Even the existing mobile agent frameworks could be evaluated for use with MSBL. Future work could also involve producing modules for MSBL that would handle CMIP management. A WBEM solution could be developed for MSBL. This could be used to manage existing SNMP agents. Presently the need for such a solution does not exist but if WBEM is indeed the future management standard then it will become a prioritized item. The one protocol besides SNMP that is actually in use by some of the devices that MSBL definitely will be managing is RPC. Because of this FMV has seriously considered producing modules for MSBL to handle the management of ICS2000 with RPC. Future work could involve actually developing this functionality instead of relying on a maneuvering server. 75 Managing Communication Resources ________________________________________________________________ 9 Conclusions Data Unit, now Citat Solutions, has been contracted to further develop a communication system for the Swedish Defense called MSBL. The MSBL communication system is a work in progress. For the upcoming version there are new requirements. One of these is the ability to manage various communications resources from within MSBL. MSBL will operate over data networks. The system needs to utilize a standardized interface for future interoperability. In the network management field today there are several solutions for managing data networks. Some of the more popular are SNMP, CMIP, WBEM, RPC, and Mobile Agents. These are considered for use in MSBL. Each of the management solutions has both strengths and weaknesses. When lined up alongside with the requirements of MSBL some of these way heavier then others. The Simple Network Management Protocol, SNMP, is the most logical choice, in large part due to the requirements. The other solutions just do not seem to fit as well with these predefined requirements as SNMP. Mobile Agents are perhaps in a league of their own. This solution is currently the focus of many research programs in the network management field. A solution based on mobile agents could very effectively be utilized on top of the SNMP based framework that is recommended for MSBL. 76 Managing Communication Resources ________________________________________________________________ 10 References [1] “Sammanställning funktioner MSBL 2.0”. [2] “Beskrivning av MIB för styrning av radiomanöversystem i Marinen”. [3] FMV aktuellt, 6/2001, ”Ett projekt i tiden”, sidan 22-23. [4] “MSBL version 2 Kravspecifikation - Gränsytelikare funktionskedjor”. [5] “MSBL IRS Funktionskedjor – Gränsytespecifikation kommunikationssystem”. [6] Douglas W. Stevenson, “Network Management: What it is and what it isn’t”, April 1995, http://netman.cit.buffalo.edu/Papers.html [7] Dan Plakosh, “Network Management – An Overview”, Carnegie Mellon Software Engineering Institute, http://www.sei.cmu.edu/str/descriptions/network_body.html [8] Jon Dron, “FCAPS – The ISO Mangement Model”, Notes for the course “ISM05 for MSc Information Systems, 2001-2002”, University of Brighton, http://edtech.it.bton.ac.uk/ism05-01/fcaps/ [9] Internetworking Technologies Handbook, Cisco, Chapter 6 “Network Management Basics”. [10] Ravi V. Shankar and Ashish K. Chatterjee, “Managing the Management Communications Network in Optical Transport Systems”, Bell Labs Technical Journal, October-December 1999, http://www.lucent.com/minds/techjournal/octdec1999/pdf/paper09.pdf [11] Infocom Products, ICS2000 http://www.infocom.dk [12] Dan Plakosh, “Simple Network Management Protocol – Software Technology Review”, Carnegie Mellon Software Engineering Institute, http://www.sei.cmu.edu/str/descriptions/snmp.html [13] Network Knowledge, know.co.uk/netman/snmp.html SNMP information, http://www.net- [14] University of Twente, The SimpleWeb, http://www.simpleweb.org/ [15] Yoram Cohen, “SNMP – Simple Network http://www.rad.com/networks/1995/snmp/snmp.htm [16] “Simple Network Management http://www.cisco.com/warp/public/535/3.html 77 Management Protocol Protocol”, (SNMP)”, Managing Communication Resources ________________________________________________________________ [17] “Simple Network Management Protocol”, Chapter 56, Internetworking Technologies Handbook, Cisco Systems, http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/snmp.pdf [18] William Stallings, “Security Comes to SNMP: The New SNMPv3 Proposed Internet Standards“, The Internet Protocol Journal, Volume 1, Number 3, December 1998. [19] RFC 1157, “A Simple Network Management Protocol (SNMP)”, IETF, May 1990, http://www.ietf.org/rfc/rfc1157.txt [20] RFC 1901, “Introduction to Community-based SNMP v2”, IETF, January 1996, http://www.ietf.org/rfc/rfc1901.txt [21] RFC 2570, “Introduction to Version 3 of the Internet-standard Network Management Protocol”, IETF, April 1999, http://www.ietf.org/rfc/rfc2570.txt [22] Network Knowledge, CMIP information, http://www.net-know.co.uk/netman/cmip.html [23] RFC 1095, “The Common Management Information Services and Protocol over TCP/IP (CMOT)”, IETF, April 1989, http://www.ietf.org/rfc/rfc1095.txt [24] Dan Plakosh, “Common Management Information Protocol – Software Review”, Carnegie Mellon Software Engineering Institute, http://www.sei.cmu.edu/str/descriptions/cmip.html [25] “CMIP/CMIS Object Oriented http://www.cellsoft.de/telecom/cmip.htm [26] “GDMO - Guidelines for Definition http://www.cellsoft.de/telecom/gdmo.htm Network of Management” Managed Objects”, CellSoft, CellSoft, [27] “Management Issues for Distributed Services”, Proc. IEEE Second International Workshop on Services in Distributed and Networked Environments (SDNE 95)Whistler, British Columbia, Canada, 5-6 June 1995, IEEE Computer Society Press, pp 52-59 , http://www.simpleweb.org/bibliography/articles/general/slo9506.ps [28] Cory Vondrak, “Remote Procedure Call – Software Technology Review”, Carnegie Mellon Software Engineering Institute, http://www.sei.cmu.edu/str/descriptions/rpc_body.html [29] RFC 1050, “RPC: Remote procedure Call Protocol Specification”, IETF, April 1988, http://www.ietf.org/rfc/rfc1050.txt [30] RFC 1831, “RPC: Remote procedure Call Protocol Specification version 2”, IETF, August 1995, http://www.ietf.org/rfc/rfc1831.txt [31] RFC 2695, “Authentication Mechanisms for ONC RPC”, IETF, September 1999, http://www.ietf.org/rfc/rfc2695.txt [32] ONC Remote Procedure Call (ONCRPC) , http://www.ietf.org/html.charters/oncrpccharter.html 78 Managing Communication Resources ________________________________________________________________ [33] DCE, http://www.opengroup.org/dce/ [34] “AIX Version 4.3 Communications Programming Concepts”, First Edition 1997, Chapter 8: Remote Procedure Call, http://www.unet.univie.ac.at/aix/aixprggd/progcomc/toc.htm [35] NISTIR 5277, “Comparing Remote Procedure Calls”, John Barkley, October 1993 http://hissa.nist.gov/rbac/5277/titlerpc.html [36] Jean-Philippe Martin-Flatin, Simon Znaty and Jean-Pierre Hubaux, “A Survey of Distributed Network and Systems Management Paradigms”, Technical Report SSC/1998/024, version 2, SSC, EPFL, Lausanne, Switzerland, August 1998. [37] Common Information Model (CIM) Specification Version 2.2, DMTF June 14 1999. [38] L. D. Weller, “Presentation – DMTF Roadmap to Mangeability”, August 4, 1998. [39] “White Paper Common Information Model (CIM) Core Model version 2.4”, DMTF, August 2000. [40] “DMTF CIM Schema version 2.6”, http://www.dmtf.org [41] Takeo Hamada, Peter Czezowski, Takafumi Chujo, “Policy-based Management for Enterprise and Carrier IP Networking”, FUJITSU Sci. Tech. J., 36,2, pp.128-139, December 2000. [42] Jose Luis Oliveira and Rui Aguiar, “Internet Management Evolution Views”, (Draft Version) University of Aveiro, Portugal. [43] CIM FAQs, DMTF, http://www.dmtf.org/about/faq/cim.php [44] German Goldszmidt and Yechiam Yemini, “Distributed Management by Delegation”, In Proceedings of the 15th International Conference on Distributed Computing Systems, June 1995. [45] Stephen Corley, Marius Tesselaar, James Cooley, Jens Meinköhn, Fabio Malabocchia, and Francisco Garijo, “The Application of Intelligent Agents to Network and Service Management”. [46] John Sum, Hong Shen, and Gilbert H. Young, “Analysis on a mobile agent based algorithm for network management”, Proceedings of the 1999 International Conference on Parallel and Distributed Procedding Techniques and Applications, (PDPTA'99), Las Vegas, Nevada, USA, June 28 - July 1, 1999. [47] Antonio Puliafito, Orazio Tomarchio, “Using Mobile Agents to implement flexible Network Management strategies”, Computer Communication Journal, 23(8):708-719, April 2000. [48] Mario Baldi, Silvano Gai, and Gian Pietro Picco, “Exploiting Code Mobility in Decentralized and Flexible Network Management”, Proceedings of Mobile Agents, First International Workshop, MA'97, Berlin, Germany, April 7-8, 1997. 79 Managing Communication Resources ________________________________________________________________ [49] David Griffin, George Pavlou, Panos Georgatsos, “Providing Customisable Network Management Serviced Through Mobile Agents”. [50] M. Zapf, K. Herrmann, and K. Geihs, “Decentralized SNMP Management with Mobile Agents”, Proceedings of the Sixth IFIP/IEEE International Symposium on Integrated Network Management (IM'99), Boston MA/USA, May 24-28, 1999. [51] Thomas Gschwind, Metin Feridun, and Stefan Pleisch, “ADK – Building Mobile Agents for Network and Systems Management from Reusable Components”, First International Symposium on Agent Systems and Applications and Third International Symposium on Mobile Agents, Palm Springs, California, October 2-5, 1999. [52] Rui Pedro Lopes and Jose Luis Oliveira, “Distributed Management of Mobile Components”, Proceedings of the Third Conferencene on Telecommunications, Figueira de Fez, Portugal, April 23-24, 2001. [53] Otto Wittner, “Network Management by Knowledge Distribution using Mobile Agents”. [54] Otto Wittner, Carsten J.E. Hölper, Bjarne E. Helvik, “Failure Semantics of Mobile Agent Systems Involved in Network Fault Management”, Proceedings of 2000 IEEE/IFIP Network Operations and Management Symposium (NOMS 2000), Honolulu, Hawaii, April 10-14, 2000. [55] “Mobile Agent Facility V1.0”, OMG, January 2000. [56] Stan Franklin and Art Graesser, “Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents”, Proceedings of the Third International Workshop on Agent Theories, Architectures, and Languages, Springer-Verlag, 1996. [57] “Chapter 4: OMG MASIF and CORBA – Integrating Mobile Agent Technology and CORBA”, “Deliverable 7a: Industrial Fora, ACTS chains and Clusters”, DIFFERENCE Consortium, September 31, 1998, http://www.det.ua.pt/Projects/difference/work/Deliverables/d7.pdf [58] J. Baumann, F. Hohl, K. Rothermel, and M. Strasser, “Mole – Concepts of a Mobile Agent System”, Univiersität Stuttgart, Fakultät Informatik, August 1997. [59] Dr.–Ing. Stefan Covaci, “Grasshopper: The First Reference Implementation of the OMG MASIF Mobile Agent System Interoperability Facility”, http://www.omg.org/docs/orbos/98-04-05.pdf [60] “Java Management Extensions Instrumentation and Agent Specification, v1.0”, Sun Microsystems, July 2000. [61] “Getting Started with the Java Dynamic Management Kit 4.2”, Sun Microsystems, December 2000. [62] Colin Pattinson, “A Study of the Behaviour of the Simple Network Management Protocol”, 12th International Workshop on Distributed Systems: Operations and Management DSOM’2001, October 2001. 80 Managing Communication Resources ________________________________________________________________ [63] Franck Barillaud, Luca Deri, and Metin Feridun, “Network Management using Internet Technologies”, Proceedings of the Fifth IFIP/IEEE International Symposium on Integrated Network Management (IM'97), San Diego, May 12-16, 1997. [64] B. Pagurek, Y. Wang, and T. White “Integration of Mobile agents with SNMP: Why and How”, IEEE, 2000. [65] Alfredo C. S. C. Brites, Paulo A. F. Simoes, Paulo M. C. Leitao, Edmundo H. S. Monteiro, and Fernando P. L. Boavida Fernandes, “A High-Level Notation For The Specification Of Network Management Applications”, Proceedings of INET’94/JENC5, May 1994. [66] Paulo Simoes, Rodrigo Reis, Luis M. Silva, and Fernando Boavida, “ENABLING MOBILE AGENT TECHNOLOGY FOR LEGACY NETWORK MANAGEMENT FRAMEWORKS”, Proceedings of Softcom '99 - Conference on Software in Telecommunications and Computer Networks, IEEE Communications Society, University of Split (Croatia), Split, Rijeka (Croatia), Trieste, Venice (Italy), October 1999. [67] Danny B. Lange and Mitsuru Oshima, “Seven Good Reasons for mobile Agents” Communications of the ACM, Vol 42, No 3, March 1999. [68] Andrzej Bieszczad, Bernard Pagurek, and Tony White, “Mobile Agents for Network Management”, IEEE Communications Surveys, Vol 1, No 1, Fourth Quarter 1998. [69] Damianos Gavalas, Dominic Greenwood, Mohammed Ghanbari, and Mike O’Mahony, “Advanced Network Monitoring Applications Based on Mobile/Intelligent Agent Technology”, Computer Communications Journal, Vol. 23, No 8, pp. 720-730, April 2000. [70] Rui Pedro Lopes and Jose Luis Oliveira, “SOFTWARE AGENTS IN NETWORK MANAGEMENT”, Proceedings of the 1st International Conference on Enterprise Information Systems, Setubal, Portugal, March 27-30, 1999. [71] Paulo Simoes, Luis Moura e Silva, and Fernando Boavida Fernandes, “A Generic Management Model for Mobile Agent Infrastructures”, Submitted to SCI2000. [72] Nwana, H. S, “Software Agents: An Overview”, Knowledge Engineering Review, Vol 11, No 3, September 1996. [73] The Object Management Group, http://www.omg.org [74] Perpetuum Mobile Procura Project Glossary, Network Management and Artificial Intelligence Laboratory, Carlton University, http://www.sce.carleton.ca/netmanage/perpetum.shtml [75] OMG Agent Platform Special Interest Group, http://www.objs.com/agent/index.html [76] DISMAN Charter, http://www.ietf.org/html.charters/disman-charter.html 81 Managing Communication Resources ________________________________________________________________ [77] Internetworking Technologies Handbook, Chapter 55, “Remote Monitoring”, Cisco Systems, http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/rmon.pdf [78] RFC 1757, “Remote Network Monitoring Management Information Base”, IETF, February 1995, http://www.ietf.org/rfc/rfc1757.txt [79] RFC 2819, “Remote Network Monitoring Management Information Base”, IETF, May 2000, http://www.ietf.org/rfc/rfc2819.txt [80] RMON Charter, http://www.ietf.org/html.charters/rmonmib-charter.html [81] Steve Steinke, “Simple Network Management Protocol – SNMP”, Network Magazine, 02/01/97, http://www.networkmagazine.com/article/NMG20000724S0050 [82] Z. CEKRO, "Simple Network Management Protocol (SNMP) - Current Standards and Status", Vrije Universiteit Brussel, March 1998. http://sun10.iihe.ac.be/internalreport/stc-98-06.html [83] Lennart Pettersson, “Kommunikationssystem SjöMan Systembeskrivning”, Telub. [84] Paulo Simoes, Luis Moura Silva, and Fernando Boavida Fernandes, “Integrating SNMP into a Mobile Agent Infrastructure”, Proceedings of the 10th IFIP/IEEE International Workshop on Distributed Systems: Operations Management (DSOM'99), October 1999. [85] The James Project, http://james.dei.uc.pt [86] "JAMES: A Platform of Mobile Agents for the Management of Telecommunication Networks", L. Silva, P. Simões, G. Soares, P. Martins, V. Batista, C. Renato, L. Almeida, N. Stohr, Proceedings of IATA '99 (3rd International Workshop on Intelligent Agents for Telecommunication Applications), Stockholm, Sweden, August 1999. [87] The Foundation for Intelligent Physical Agents, http://www.fipa.org [88] RFC 2982, “Distributed Management Expression MIB”, IETF, October 2000, http://www.ietf.org/rfc/rfc2982.txt [89] “DMI v.2.0 Update”, Desktop Management http://www.dmtf.org/download/press/dmiupdate.pdf Task Force, July 1996, Slide 17, [90] CIM Tutorial, http://www.dmtf.org/education/cimtutorial/using/struc.php [91] DMTF Summit Roadmap Presentation, DMTF, http://www.dmtf.org/download/presentations/summit_roadmap98.pdf [92] Luís Moura Silva, Guilherme Soares, Paulo Martins, Victor Batista and Luís Santos, “The Performance of Mobile Agent Systems”, Poster presented at ASA/MA'99, Palm Springs, California, October 1999, http://james.dei.uc.pt/james2/Papers/james_ma99.pdf [93] The Voyager System, http://www.recursionsw.com/products/voyager/voyager.asp 82 Managing Communication Resources ________________________________________________________________ [94] Grasshopper, http://www.grasshopper.de [95] Jumping Beans, http://www.JumpingBeans.com [96] Oliver Huber, “Management of Mobile Agents in Telecommunication Networks”, ENST de Bretagne, 1997, Department Reseax et Services Multimedia, France. [97] Laurent Toutain, Oliver Huber, “Mobile Agents in Active Networks”, ENST de Bretagne, 1997, Department Reseax et Services Multimedia, France. [98] The Internet Engineering Steering Group, http://www.ietf.org/iesg.html 83