Topology Maps in Network Management

Topology maps and events lists (aka alerts/alarms/notifications) are two most commonly used UI patterns to present monitoring data to users in network monitoring. The usefulness of topology maps is not an agreed upon subject in the network monitoring community. Some folks think maps are "must have" for a monitoring tool, others don't care for them at all.

Most monitoring tools in the market do offer some kind of maps functionality, but the quality varies significantly, not all maps are created equal. I think usefulness of the network topology maps highly depend on the design of the solution. Network monitoring field is full of people scarred by the experience of manually maintaining the hierarchical maps (a la HPOV NNM). I personally think maps indeed can be useful when implemented right, and many people do request it hence we've added Maps to RapidOSS.
Distilling the experiences of the past, we've steered clear of the most common pain points associated with maps. Here is how/why RapidOSS map component is different:

- Flash (flex) based

RapidOSS has a web based UI. We try to use the browser natively (html/javascript) as much as possible. However, we have not found a robust library to be able to create maps in the browser natively and work in all major browsers (I'm looking at you IE).

We believe that the user experience with a flash based component is a lot less problematic than the alternatives (java applets, SVG plugins, Canvas emulators etc.) and over 90% of PCs already have flash installed. Hence, we've developed RI map component as a flash component, using flex and the excellent Flare library.

- Automatic or manual layouts

Users still manually organize the position of the icons and save the layout, however RI maps can also use layout algorithms (circular, hierarchical, etc.) to determine the position of each node, hence manual positioning of the nodes in the map is not required. 

- Focused maps

RI maps can focus on a specific area of the network topology and expand as necessary. A typical scenario is to launch the map from the event list to see the related device and the devices that are one hop away. This approach is essential in making browsing through large networks manageable.

- Integrated

RI UI components can communicate with other and exchange data which makes As with other RI UI components, map component can be used as part of a page, can exchange data (communicate) with other RI (javascript) components, etc., which enables dynamic, interactive user interfaces. In addition, actions can be executed from the drop down menu, integrating the menu with other tools and UI components to provide additional relevant information to users.

- Decoupled component

Like other RI UI components, map component receives data from RI server as standard XML, hence the client side Map component is decoupled from the origin of the data. This means the component can easily be embeded into other management solutions as long as the solution can serve the data as XML to the client.

Many monitoring tools have the maps tied to their server. This means therefore if the tool cannot  discover devices or the connections among them, there isn't an easy way augment the data. RI server side scripts can retrieve the data from RI repository, other data sources or a combination of them. For example, for an event from Netcool about a device, topology data can be retrieved from an in house database (element manager, provisioning system, etc) and the device, connected devices as well as related applications etc. can be displayed on the map.

- Customizable

The information presented by the nodes in in RI can be customized. In addition to the drop down menu, the nodes can include 3 icons at the corners and the icons can change depending on the properties of the node objects to present status of the node, role of the node etc. There is also a gauge icon that can be used values such as utilization, etc. dynamically. And since the source code is open, more unique requirements can always be added to the code.

- Multiple layers

RI Map component can be used present multiple layers from physical layer to service dependencies, hence can be used to present cross domain connections, etc. and not just the IP networks.

Here is a short screencast that shows the map component as part of RapidOSS. Live demo on our site also includes the map component if you'd like to play around. As always, any feedback would be much appreciated. What is missing, what would you like to see?