Discovery subprocesses

The discovery process consists of several subprocesses that work together to discover devices and device interconnectivity.

When you launch a discovery, the internal Network Manager discovery engine (ncp_disco) is run. The ncp_disco engine manages the process of discovering device existence and interconnectivity.

Whenever you launch a full discovery the Discovery Engine, ncp_disco, rereads its configuration files. The Discovery Engine also instructs the Helper Server and the individual helpers to reread their configuration files. This is controlled by the DiscoReadConfig() rule within the FullDiscovery stitcher file.

Note: When you launch a partial discovery, ncp_disco does not read its configuration files.

The Discovery engine operates by detecting the existence of a device on the network and querying the device for inventory and connectivity information, which is subsequently processed or 'stitched' together to generate a connectivity or topology model. The discovery engine components are described in Table 1.

Table 1. Discovery components
Name Description
Finders Finders discover the existence of devices but do not retrieve connectivity information.
Agents

ncp_disco uses discovery agents to request connectivity information from devices that the finders have discovered. There are a variety of agents, each specialized to retrieve information from different devices, and, in certain cases, to use different protocols. Agents do not have any direct interaction with the network, but instead retrieve information through the Helper Server. Agents can be libraries or text files, and are specialized for particular protocols, devices or classes.

The Discovery engine starts each agent as a dependent unmanaged process. In the event of a failure of the Discovery engine, the Process controller, ncp_ctrl, shuts down each of the agents started by the discovery.

Helper Server The Helper Server manages the helpers and stores the information that is retrieved from the network. Discovery agents retrieve their information through the Helper Server to reduce the load on the network. The Helper Server can service the requests directly with cached data or pass on the request to the appropriate helper.
Helpers The helpers retrieve information from the network on behalf of the discovery agents. Helpers also translate agent queries into the appropriate network protocol and make requests to the devices.
Stitchers Stitchers are processes that transfer, manipulate and distribute data between databases. The discovery stitchers are also responsible for processing the information collected by the agents and using this information to create the network topology. A predefined set of stitchers is included with Network Manager. You can modify existing stitchers or write new stitchers to perform custom manipulation of your network topology. For example, you can write a stitcher to make your device interfaces appear with a custom naming convention. Stitchers are coded using the stitcher language.