Sun Java Solaris Communities My SDN Account Join SDN
 
White Paper

Java Dynamic Management Kit 4.0 : White Paper

 

Contents


Java Dynamic Management Kit

This White Paper describes some of the technology behind Sun Microsystems' new paradigm for networking based on the concept of the Service-Driven Network.

The Service-Driven Network shifts the focus from management of technology infrastructure to a focus on providing truly integrated services. It brings management capabilities forward, from the back office to the front lines, from a proprietary LAN or WAN to an Internet-based network that delivers the "WebTone". In this new environment, it is the management systems that deliver and provide ongoing support of the services that are critical to success.

In simplest terms, the WebTone represents the Internet equivalent to the dial tone. The WebTone enables reliable, safe, fast, accessible, manageable, expandable, and easy-to-use Internet access. For your company, it means that your business is available on the Internet 24 hours a day, 7 days a week. And what enables the WebTone are the software, systems, and services that help you develop, deploy, manage, and secure your business across the Internet.

Today's Management Paradigm

Today's network and system management paradigm is far from perfect. Under the current paradigm, network management is performed by management applications, aided by agents. The agents act as interpreters and filters, sending commands to the network elements they control and collecting information about them. The agents are usually situated near the network elements they control.

This paradigm has several drawbacks.

Management Intelligence is Too Centralized

All intelligence is centralized and concentrated in the managers. No management decisions may be taken by the agents. This implies a great deal of network traffic between the agents and the manager; since an agent only passes information upwards, it does not have the capacity to react to events or alarms.

Management Solutions are Too Static

Management solutions are very static: they have to be complete at first implementation, because updating them later to add functionality is complex. Updating a manager application is relatively simple since there are few managers in a network and they are usually centralized. However, updating agents is logistically complex because agents are numerous and distributed all over the network. In order to upgrade an agent, you need to stop it and then restart it, which can cause havoc in the network. Each agent must be updated individually. To make matters worse, an administrator may even have to travel to each site and perform the update locally - increasing complexity and cost.

Maintenance is Too Expensive and Time Consuming

Maintenance and administration of the network management infrastructure therefore involves high costs. It is also time consuming. Today's paradigm is not adapted to new Internet-driven time schedules, which demand that new solutions and services be deployed rapidly and frequently.

Static, Limited Agents

Many of these drawbacks are caused by the limited nature of today's agents. These agents are simple. SNMP agents perform only basic network management operations. Since they contain little management intelligence themselves, they load the network with management traffic in order to perform their limited tasks. For example, they send multiple traps and replies, to be consolidated by a manager at a higher level.

A further drawback is that today's agents are static: their MIBs are defined during development and cannot be extended subsequently. Since network management applications can only access the information already defined in the MIB, this means the possibility for extending the applications is limited as well.

The other management paradigm, based on CMIP (Common Management Information Protocol) technology and mainly used in the telco world, requires more weighty agents. These agents provide richer functionality, but still remain static. The deployment of these static agents is a costly process, and the time and effort spent on managing them adds up to high administration costs for relatively little return. But what's the alternative?

A New Paradigm: The Service-Driven Network

Service-Driven Networks based on dynamic, flexible management services represent the type of responsive, reliable, and modular infrastructure that telco providers and large enterprises must deploy in order to respond to today's business needs. This new type of network, based on the latest generation of management technology, delivers innovative services (such as unified roaming, news broadcast, online shopping, etc.) to customers faster, and at a lower cost than ever before.

Sun's Java Dynamic Management Kit1 (Java DMK) is the key enabling technology for the Service-Driven Network. It introduces a unique combination of "push" distribution mechanisms and Java network management technologies for building self-managed networks.

Java DMK: Universal Agent Toolkit

Java DMK is the first Java-based solution for building and distributing management intelligence into network devices. Based on JavaBeans™ components, it enables rapid development of autonomous Java agents for system, network, configuration, and service management.

Java DMK makes management dynamic, opening the door to new types of lightweight, flexible management applications that can be created, deployed, enhanced, or deleted in real time.

Dynamic, Smart Agents

Java DMK allows management services to be incorporated directly into agents. This provides two distinct advantages:

  • First, it allows management intelligence to be distributed throughout the network, rather than being concentrated in manager devices.

  • Second, it means that agents can actually perform management tasks themselves rather than just sending information to higher level managers.

Java DMK agents are smart, autonomous, and dynamic. They can download management services from the management Web server when they access it, for example at boot time. They can pull new management services as soon as they become available. Updated management services can also be pushed to the agents. This allows new management services to be implemented and started at any time.

The net result is that with Java DMK, it is no longer necessary to know in advance what will need to be configured, monitored, and managed in the future.

JavaBeans for Management

The Java DMK toolkit includes a library of core management services, in the form of JavaBeans components. These components are mini applications, or parts of applications, which can be used individually or combined with each other to create management services for agents.

Push/Pull Distribution

Software distribution is also integrated into Java DMK, enabling rapid propagation of new services or software over the network.

Management services, in the form of JavaBeans components for Management can be dynamically distributed to the network. They can be slotted in and out of the Java DMK agent's Core Management Framework, to add, change, or delete services, just as hardware components are slotted in and out of a rack.

The Java DMK Development Process

To develop an agent using Java DMK:

  • You select JavaBeans components for Management from those included in the toolkit, and customize them using a Java Development Environment in order to generate JavaBeans for Management for the services you require. Or you create your own JavaBeans components for Management, adapted to your environment.

Figure 1: Java DMK Development Process

  • You can either:

    • Create a complete agent incorporating the management services, install it on a device, and initialize it,

    • Or you can decide to create an empty agent framework, which you fill with management services on a real-time basis, using network distribution.

  • If you choose the second packaging option, then you upload management services in the form of JavaBeans for Management to the agent over the intranet/Internet using the push/pull software distribution mechanisms included in Java DMK. The new or updated services slot into the agent's Core Management Framework and begin to function instantly.

The Generated Java DMK Agent

The generated agent is composed of the following elements, running in a Java Virtual Machine:

    • Core Management Framework (CMF): this is a software backplane into which the services defined by the JavaBeans components for Management can be plugged.

    • Core management services in the form of JavaBeans for Management.

    • Managed object JavaBeans components created by the developer implementing the specific management services for the device.

    • Device-specific access method created by the developer, using native function calls (based on the Java Native Interface (JNI) specification).

Java DMK Components

Java DMK provides the following components:

  • A Dynamic Management Architecture that provides a set of Web-based mechanisms for automatic propagation of management services across the network to the agents.

  • An agent framework, including a library of reusable core agent services in the form of JavaBeans components for Management. These include: object repository, dynamic class loading, dynamic native library loading, relationship, basic notification, filtering, and monitoring.

  • A master agent framework, including a library of core master agent services in the form of JavaBeans components for Management. These include the cascading services which enable master agents to access the managed objects on the agents below them.

  • Protocol adaptors, implemented as JavaBeans components, which provide transparent communication services to the JavaBeans for Management. The available protocols are RMI, HTTP, and SNMP.

  • Service creation tools, which include:

    • A Managed Object Generator (MOGEN), which helps developers to create their own specific Java management applications by generating the remote client front end for a given JavaBeans component for Management.

    • A Java SNMP MIB compiler. This takes an SNMP MIB as input, and outputs a JavaBeans for Management, which enables the Java DMK agent to be managed by an SNMP manager.

  • A set of APIs.

Benefits of Java DMK for Developers

The benefits Java DMK provides for agent developers include the following:

  • Java DMK provides a universal Java agent toolkit, which provides the tools and services needed by developers working on agents for network, system, application, or service management.

  • Java DMK tools and services enable very rapid agent development through the use and recombination of JavaBeans components which provide basic management services such as filtering, event notification, and so on.

  • By providing generic management services, Java DMK frees developers to concentrate on developing value-added device or application-specific services rather than on (re)creating generic services.

  • JavaBeans applications can be managed by a Java DMK agent directly, without needing any instrumentation configuration files, CGI, or HTTP support.

  • The use of JavaBeans components to develop management services facilitates code reuse, limits the code required to implement new services, and makes maintaining agents easier.

  • Use of Java technology makes the development platform independent of the target platform; the resulting agent can be implemented on any platform which supports a Java Virtual Machine.

  • Use of protocol adaptors enables agents to be developed without knowledge of the protocol used for communicating with the manager.

Key Features of Java Dynamic Management Kit

The key features of Java DMK include the following.

Autonomous Agents

Using Java DMK to build a certain amount of intelligence directly into your agents allows them to perform management tasks directly, without the intervention of a manager device.

Push/Pull Technology

The graphic below demonstrates how Java technology pushes management intelligence using Web technology methods.

Figure 2: Flexible and Dynamic Management Architecture

The management services are built as JavaBeans for Management. These are compressed in a .JAR file which can be downloaded (either pushed or pulled) over the network.

The agent may boot from a specified URL at connection with the management server. The HTML page corresponding to the URL contains one or several <MLET> (management applet) tags. Each <MLET> tag refers to one or several .JAR files. It also includes extra code to specify details of the management services concerned, and may define icons, sounds, etc.

The .JAR files get pushed to the agent and work immediately, in exactly the same manner as an animated Java applet for a Web page.

Different clients can be made to boot from different URLs, which specify different agent profiles (different <MLET>s). This allows administration of large installations of heterogeneous devices with minimum effort because the different agents automatically receive the management services appropriate to them when they boot from the server.

Changes to the management agents get downloaded automatically, as soon as they are implemented. All the agents are running the right version, since they can be updated if necessary whenever they boot to the server, or in response to a request from a management application.

Master Agent Functionality

Master agents make it easier to distribute management services in very large installations, with minimal administration effort and cost.

The network topology defines two types of agent:

  • Master agents

  • Leaf-node agents

Master agents distribute services to the agents below them on the hierarchy. The agents below may be leaf-node agents or other master agents.

Java DMK includes a library of core master agent services such as cascading services.

Figure 3: The Cascading Service

Cascading Services

Cascading services enable you to establish cascading hierarchies in which each master agent manages a group of lower level agents. The master agent can view the management services in the agents below it.

Cascading services make distribution of software or services easier to manage. They enable the master agents to push management services to the agents below them. In the example shown, the Manager pushes Java agent services such as Event Filtering and Logging to the master agents. The master agents, in which cascading services are installed, push this intelligence further down the agent hierarchy to the agents below.

Cascading also allows master agents to delegate some of their tasks to the agents below them.

Multiprotocol Support and Integration

Java DMK is a multiprotocol agent architecture. Java DMK agents can be integrated into existing networks with already established management structures, and a variety of management technologies, such as SNMP, RMI, HTTP/HTML, etc.

You can use Java DMK to develop dynamic SNMP agents. Using the Java DMK MIB compiler, you can easily develop an SNMP agent, based on your own specific MIB. The resulting SNMP agent can initially be deployed just like a traditional SNMP agent, but can be updated easily using the flexibility of Java DMK.

When a Java DMK agent is managed by an SNMP manager, its Java DMK-specific capacities remain opaque to the SNMP manager. However, new applications can be developed easily using Java DMK to integrate the two worlds.

For example, when the Java DMK agent's icon shows an alarm condition on the SNMP manager screen, because it has received an SNMP trap, you could click on the icon to open a Java application which would allow you to download a specific diagnostic module to the remote device. Such an application would enable you to benefit from the capacities of Java DMK - even within the more limited SNMP environment.

Scalability

Java DMK agents are scalable. They can be deployed in any device that can run a Java Virtual Machine. These can range from a mobile phone to a high-end server.

Furthermore, Java DMK agents are dynamically scalable; they can load and unload services as required. This means that their footprints are never bigger than they need to be, and can be adjusted to new requirements instantly.

Java agents range in size from 200 Kbytes, depending on the number of services they support.

Benefits of Java DMK-Enabled Solutions

  • Java DMK enables "intelligent" management services to be integrated inside devices. Java DMK "intelligent" agents can take proactive actions without human intervention or administration console (proactive actions can be based on device-dependent events or other agent behavior).

  • Java DMK reduces management traffic on the network by enabling direct agent-to-agent communication. The conventional approach allows no horizontal communication, even where it makes sense. Instead, events get percolated up the network to manager applications, and actions trickle down. Java DMK agent-to-agent communication enables actions to be taken without intervention from a manager.

  • Java DMK agents can be remotely enhanced, upgraded or updated with new intelligent management services via the Internet at any time. Intelligent management services can be distributed on a large scale with zero administration, either automatically received or pushed. For example, this technology allows the upgrade of large installations of network devices, such as desktop PCs, with minimal human intervention or management operations.

  • Java DMK's dynamically extensible object model provides richer information content than that provided by traditional agents. SNMP MIBs are static. If you want to enhance them, you have to build an extension at development time. Afterwards it's too late; deployment of an upgrade once the SNMP agents are in place would be too costly. But Java technology lets a management application look at whatever it needs to look at (CPU, memory, disk space, etc.). It also enables you to change what you're looking at from one day to the next, extending or changing your management applications as you need, in real time.

  • Java DMK enables devices to be managed via Web browsers, Java applications, or existing SNMP managers.

  • The scalability of Java agents makes them available for management of even the smallest devices. Furthermore, the fact that they are dynamically scalable means that their footprints are never bigger than they need to be, and they can always be extended as necessary.

Java DMK Agents: Areas of Use

Since Java DMK is a universal toolkit, it can be used to develop agents for a multitude of different functions.

Webtop Management

Java DMK push technology, combined with a system of profiling, enables large heterogeneous installations of PCs, UNIX® systems, NetPCs, and Webtop devices to be managed with minimum human intervention. Each device contains a Java DMK agent, which corresponds to a particular profile and downloads appropriate services accordingly.

Desktop management becomes easy, since the management application and the management services in the agents can be changed at any time. New services are simply pushed to the agents at boot time. Software upgrades become trivial. New profiles can be added at any time.

System Management

System management agents can be used to manage an entire installed base of devices, ranging from Webphones, Webtops, and PCs, to high-end machines running the Solaris™, UNIX, and Windows NT environments. System management and software distribution, using the push/pull capacities inherent in Java DMK, becomes an automatic, zero-effort task.

Java DMK technology takes system management towards the future. A Java DMK agent can be integrated into any device that supports a Java Virtual Machine, which allows for easy and immediate integration of new devices in the future.

Integration of current SNMP management with the new facilities provided by Java DMK preserves existing investment while allowing access to the benefits of Java DMK. Java DMK agents can monitor SNMP variables, and send traps to an SNMP manager. Their dynamic nature allows them to deploy new SNMP management services as these become available.

Management information concerning Java DMK agents is accessible via any SNMP manager, Java management console, or Web browser.

Application Management

Application configuration management agents provide application configuration and management tools. They make it possible to remotely reconfigure an application in real time over the Web.

By combining the JavaBeans components provided with Java DMK with JavaBeans applications you write yourself, you can create new application configuration management agents quickly and easily.

Java DMK management services conform to the JavaBeans component specification. They can be managed easily within the Java DMK agent's Core Management Framework without any need for configuration files. A Web interface is also provided within the Core Management Framework.

C and C++ Applications

Applications written in C or C++ can be managed by a Java DMK agent through a native interface (generally developed by the developer of the application). The application's native interface acts as the glue which allows the Java Native Interface to communicate with the application.

Figure 4: Calling Native Code Through JNI

Device Management

Device management agents provide management of network devices such as bridges, routers, modems, PC cards, printers, network access servers, etc.

Any device which can run a Java Virtual Machine can be managed using Java DMK. Obviously, a device with a real-time operating system needs to be supplied with an interface allowing the RTOS to interface with the Java Virtual Machine.

A New Paradigm

Java DMK provides the foundation for the new Service-Driven Network by providing the technology needed for building autonomous management services, and distributing them to network devices. It is the first Java agent development tool on the market to integrate Web-based, push/pull technologies as well as support for existing management protocols such as SNMP and a range of communication protocols such as HTTP and RMI.

Java DMK opens the door to the future. It enables a new type of dynamic management application, and represents a huge opportunity for ISPs and system integrators, making it easy for them to provide services which differentiate them from their competition.

Related Links