1 METHOD AND SYSTEM FOR AUTOMATICALLY DETERMINING COMMANDS FOR A NETWORK ELEMENT
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims domestic priority under 35 U.S.C. 119(e) from prior provisional application Ser. No. 60/481, 790, filed Dec. 14, 2003, the entire contents of Which are hereby incorporated by reference for all purposes as if fully set forth herein.
The present invention generally relates to computer network management. The invention relates more specifically to methods for determining a command set of a network element.
The approaches described in this section could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
A typical computer network consists of various devices such as routers, switches, Wireless access points, firewalls, etc. FIG. 1 illustrates an example network that includes such elements.
A typical network device provides a command interface that is accessible using the telnet protocol, a secure shell (SSH) connection, or serial port interface to create, update, retrieve and store management information relating to the device. A network management station (NMS) can deliver commands through such an interface to provide a higher level or enhanced management capability to the network operator or administrator.
To interoperate With a network device, the NMS must have knowledge of what commands the device supports, so that the NMS can deliver commands that are compatible With the device’s command interface and that produce desired results. One Way to provide such knowledge to an NMS is by adding command definitions to the NMS manually, either through a programmatic approach by updating the computer program code that forms the NMS, or by changing a separate device data table that is used by the NMS. However, this approach is slow and error-prone, especially When the NMS supports a large number of different devices.
Further, Whenever a change occurs in the set of commands that a particular device type supports, a change is required to the NMS. Thus, this approach requires ongoing software development efforts to keep the NMS compatible With the commands that devices recognize or support.
Therefore, there is a need for a better Way to provide knowledge about commands that a network device supports.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is illustrated by Way of example, and not by Way of limitation, in the figures of the accompanying drawings and in Which like reference numerals refer to similar elements and in Which:
1.0 General Overview
The needs identified in the foregoing Background, and other needs and objects that will become apparent for the following description, are achieved in the present invention, which comprises, in one aspect, a method for automatically determining a set of commands that a network device supports comprises the machine-implemented steps of receiving a syntax definition for a command help syntax of a network device; sending a seed command to the network device; receiving and storing a response from the network device; creating and storing information identifying commands that the network device supports, based on the response, in a database of command knowledge; determining and sending to the network device one or more command requests that cause the network device to respond with further information defining supported commands; creating and storing further information identifying additional commands or parameters supported by the network device, based on responses from the network device to the command requests, in the database; and repeating the determining, sending, creating and storing steps until the information in the database represents all commands and parameters that the network device supports.
According to one feature, the seed command is any of a help command and a “?” command.
In other features, the syntax information identifies, for a particular network device type, any of: (a) a command that causes the network device to respond with a list of all commands supported by that particular network device type; (b) a response that indicates when a previously issued command is missing a required parameter; (c) a response that indicates when a previously issued command is missing a required sub-command; (d) a response that indicates when a previously issued command included a parameter having an incor