1.  Field of the Invention
This invention relates to the monitoring of devices connected to a network.  More particularly, it relates to a method, system, and computer program product for the remote monitoring of network-connected devices using multiple protocols. 
2.  Discussion of the Background
As is generally known, computer systems include hardware and software.  Software includes a list of instructions that are created to operate and manage hardware components that make up a computer system.  Typically, computer systems include a variety of hardware components/devices that interface with one another.  The computer system can be a stand-alone type or a networked type.  In a networked-type computer system, a plurality of distinct devices are connected to a network and thus communication between these distinct devices is enabled via the network. 
Further, software for operating the hardware devices must be configured in order to allow communication between the hardware devices so that the hardware devices are enabled to function cooperatively.  Further, in order to facilitate such a communication, it is also desirable for hardware devices to be monitored and the status of each hardware device identified in order to ensure that each hardware device is functioning in an efficient manner. 
For the purposes of this patent application, the inventor has determined that a hardware device that is controlling, configuring, or monitoring the plurality of distinct devices or hardware devices would be referred to as a monitoring device and the hardware devices that are being controlled, configured, or monitored by the monitoring device would be referred to as “monitored devices.” 
For hardware devices that are located on a network, it is desirable for these devices to be monitored for maintenance, usage, or other purposes.  However, in view of manufacturer differences relating to hardware devices and interfaces, it may be difficult for a monitoring device to communicate with various other devices connected to a network.  Such a disadvantage most likely prevents network administrators from obtaining crucial information about the performance and efficiency of the devices connected to the network. 
The Simple Network Management Protocol (SNMP) is today a de-facto industry standard for the monitoring and management of devices on data communication networks, telecommunication systems and other globally reachable devices.  Practically every organization dealing with computers and related devices expects to be able to centrally monitor, diagnose, and configure each such device across local- and wide-area networks.  SNMP is the protocol that enables this interaction. 
In order for a device to respond to SNMP requests, it is desirable to equip the device with the software that enables it to properly interpret an SNMP request, perform the actions required by that request, and produce an SNMP reply.  The SNMP agent software is typically a subsystem software module residing in a network entity. 
The collection of objects implemented by a system is generally referred to as a Management Information Base (MIB).  An MIB may also be a database with information related to the monitoring of devices.  Examples of other MIB's include Ethernet MIB, which focuses on Ethernet interfaces; Bridge MIB, which defines objects for the management of 802.1D bridges, to name a few. 
Using SNMP for monitoring devices is difficult as private MIB's include values that are hard to decipher without a valid key.  A company using SNMP for monitoring various devices connected to its network creates a unique identifier/key that is maintained as proprietary information of the company.  For the most part, the results are displayed as binary or integer values.  Thus, using SNMP, results received from the devices that are being monitored (“monitored devices”) fail to provide a user with the status of the monitored devices in a user comprehensible manner. 
Further, using SNMP, it is difficult for one to obtain detailed information about a monitored device without a valid key or access to a private MIB to decipher the results obtained as binary or integer values.  In addition, a given protocol (e.g., SNMP or HTTP/HTML) may fail for various reasons, such as time out or lost packets.  Also, some information extracted from a given device using the multiple protocols may be duplicated for each protocol.  Accordingly, if the extraction of data from the device is not properly managed in such situations, time and memory inefficiencies result since some protocols require more resources than other protocols.  In addition, information extraction using some protocols may require much less processing and memory than using others.  Furthermore, some information obtained through one protocol may be more useful for the monitoring device than the one obtained through another protocol.