Method and apparatus for collecting and displaying network device information

Information

  • Patent Grant
  • 7779026
  • Patent Number
    7,779,026
  • Date Filed
    Friday, May 2, 2003
    21 years ago
  • Date Issued
    Tuesday, August 17, 2010
    14 years ago
Abstract
In one particular embodiment, the disclosure is directed to a network management system. The network monitoring system includes at least one device definition file, a simple network management protocol enabled communications interface, and a data access interface. The definition file includes query instructions associated with portions of MIBs associated with a network device. The simple network management protocol enabled communications interface may access the network device using the query instructions and may receive response data from the network device. The data access interface may be configured to provide external access to the response data and configure thresholds.
Description
TECHNICAL FIELD

This disclosure relates in general to network monitoring systems. More specifically, the disclosure relates to a method and apparatus for collecting and displaying data associated with network devices.


BACKGROUND

The Simple Network Management Protocol (SNMP) has become the standard for network management. Network management systems utilizing SNMP contain two primary elements: a manager and agents. The Manager is the console through which the network administrator performs network management functions. Agents are the entities that interface to the actual device being managed. Hubs, bridges, routers and servers are examples of managed devices that contain managed objects. These managed objects might contain hardware inventory data, configuration parameters, and performance statistics that directly relate to the current operation of the device. These objects are arranged in what is known as a management information base (MIB). Each managed object has an object identifier (OID). SNMP allows managers and agents to communicate for the purpose of accessing these objects.


With the embracing of SNMP by network device vendors, the amount of MIB data contained in an organization's information technology (IT) department has become so large that isolating useful management information requires a fair degree of knowledge, expertise, and time. As a result, much of the SNMP instrumentation developed by device vendors, and the resulting network management capabilities, are not utilized by the typical IT professional.


As such, many typical network management systems suffer from deficiencies in providing easy access to and use of management information. Accordingly, there is a need for an improved method and apparatus for collecting and displaying network device information.


SUMMARY

In one particular embodiment, the disclosure is directed to a network management system. The network monitoring system includes at least one device definition file, a simple network management protocol enabled communications interface, and a data access interface. The device definition file includes query instructions associated with a network device. The simple network management protocol enabled communications interface may access the network device using the query instructions and may receive response data from the network device. The data access interface may be configured to provide external access to the response data.


In another particular embodiment, the disclosure is directed to a network monitoring system. The network monitoring system includes at least one device definition file, a simple network management protocol communications interface, and a data access interface. The device definition file includes query instructions for accessing a management information base supporting a network device. The simple network management protocol communications interface may access the network device using the query instructions and may receive response data from the network device. The data access interface may be configured to send a notification in response to a comparison of a threshold value and the response data.


In an additional embodiment, the disclosure is directed to a device definition file. The device definition file includes query instructions for accessing a management information base using the simple network management protocol, supplemental data associated with the network device, and computer-implement instructions for unit conversion of at least one field of retrieved data associated with the query instructions.


Another embodiment disclosed is an interface. The interface is presented on a display. The interface includes response data from a query to a network device using a simple network management protocol and a device definition file. The user interface also includes supplemental data associated with the network device and stored in the device definition file. The user interface also includes converted data derived from the response data in accordance with the device definition file.


Further exemplary embodiments are directed to a method of generating a device definition file. The method includes the steps of determining an object identification associated with a management information base of a network device; generating query instructions associated with the object identification; adding supplemental data to the query instructions, and providing a unit conversion code to the query instructions. The supplemental data and unit conversion code are associated with the object identification.


Additional exemplary embodiments are directed to a method of producing data associated with a network device. The method includes the steps of accessing the network device using query instructions associated with a device definition file and an associated simple network management protocol interface; receiving response data from the network device; converting the response data in accordance with the device definition file to produce converted data.





BRIEF DESCRIPTION OF THE DRAWINGS


FIGS. 1 and 2 depict exemplary embodiments of network management systems.



FIG. 3 depicts an exemplary embodiment of a device definition file.



FIGS. 4 and 5 depict exemplary methods for use by a network management system.



FIGS. 6, 7, 8 and 9 depict exemplary interfaces of a network management system.





The use of the same reference symbols in different drawings indicates similar or identical items.


DETAILED DESCRIPTION

A large number of networkable devices conform to Simple Network Management Protocol (SNMP). Each of these devices has a management information base (MIB) that may contain several thousand entries or object identifications (OID). A few of these OIDs relate to environmental and physical conditions such as temperature, power quality, and fan speed. Some other OIDs may relate to current, voltage, humidity, dew point, audio, and motion. Other OIDs provide descriptions relating to OIDs having numerical values. The present disclosure describes a system and method for accessing, collecting, and storing selected data using SNMP, MIBs, and OIDs.


The disclosure discusses a data preparation system and a network monitoring system. The data preparation system has a set of mechanisms to prepare a data file that isolates and surfaces the pertinent OIDs for a specified network-attached device, optionally adds supplemental data, and performs unit conversions. The network monitoring system displays the results from the data preparation system in a user-interface, in which typical SNMP-based monitoring activities can be performed by the user.



FIG. 1 depicts an exemplary embodiment of a network management system. The network management system 102 includes a device definition file (DDF) 104. This device definition file 104 may be considered as part of the data preparation system and may include query instructions, supplemental data, conversion instructions, and other information associated with a network device 108. The network management system 102 may be coupled to the network device 108 through the network and may communicate using network management protocols, such as Simple Network Management Protocol (SNMP), and other communications protocols. For example, the network management system 102 may use the query instructions associated with the device definition file 104 to make an SNMP query to the network device 108. The query may, for example, request physical and environmental data such as temperature, fan speeds, and power quality. In other exampled, the data may include current, voltage, humidity, dew point, audio information, and motion information. The network device 108 may then return response data to the network management system 102. The network management system 102 may augment the response data with supplemental data associated with the device definition file 104 or may perform calculation on the data such as unit conversions in accordance with the device definition file 104. The network management system 102 may also compare the response data with threshold values. In response to this comparison, the network management system 102 may send a notification to the user 106.


The network management system 102 may query the network device 108 periodically or on prompting by a user 106. The network management system 102 may monitor the performance of the network device 108 by periodically querying the network device 108 with the queries associated with the device definition file 104. Alternately, a user 106 may request information or data regarding network device 108. In response to this request, the network management system 102 may access the network device 108 with queries associated with the device definition file 104. In either case, the network device 108 returns response data, which is then augmented with supplemental data and unit conversions associated with the device definition file 104 and provided to the user 106.


The user 106 and network device 108 may be coupled to the network management system 102 through the same or different networks. The device data may be supplied to the user 106 using various transfer protocols and methods including HTTP, FTP, and TCP/IP, among others. For example, the network management system 102 may supply an HTML-based page to the user 106. Alternately, the network management system 102 may provide a data file to the user 106 through FTP transfer. In a further example, the network monitoring system 102 may send a notification of the data through Simple Mail Transfer Protocol (SMTP) or a text messaging protocol.


The network management system 102 may acquire the device definition file 104 from a repository 110. This acquisition may be in response to discovering a device 108 on the network, periodically checking for updates to device definition files, or at the prompting of the user 106.


Exemplary embodiments may be implemented on various forms of equipment. One exemplary embodiment may be implemented on a network appliance. A network appliance may be, for example, a stand-alone device built to perform a well-defined set of functions and that is capable of connecting to a global network such as the Internet. The appliance may include software to configure, monitor, and control its functions via the global network. The appliance may include a processor subsystem. The processor subsystem may have a microprocessor, memory, and associated support circuitry necessary for the microprocessor to function. One exemplary embodiment may use a 32-bit RISC processor manufactured by Motorola. Other embodiments could utilize 16-bit or even 8-bit microprocessors. Other embodiments may include 64 MB Flash memory for program storage, 128 MB of RAM for data storage, and a real time clock (RTC).


The appliance may also include nonvolatile memory for maintaining state information in the event of power loss. The information stored in nonvolatile memory may include: device definition files (DDFs), configuration files, the values of the RTC for the beginning and end of the period that network performance data was measured, the last known state of network devices, and threshold data.


In one exemplary embodiment, the network management system 102 may be a miniaturized environmental monitoring unit with a web-enabled interface. This miniaturized environmental monitoring apparatus may be coupled to an intranet. Using device definition files, the miniaturized environmental monitoring unit may also communicate with devices on the intranet. This communication may be used to monitor environmental sensors on the devices or operational characteristics of the devices. The data acquired from the devices on the intranet may then be provided to a user. The user may be on a wide-area network or global network separate from the intranet. The miniaturized environmental monitoring system may also communicate with a central data repository or centralized management system such as Netbotz Central.



FIG. 2 depicts an exemplary network management system 202. The network management system 202 may include computational circuitry 204, network connection(s) 206, a query engine 208, a device definition file(s) 210, an SNMP-enabled interface 212, and a data access interface 214. The network management system 202 may also include a device definition file generator 216 and threshold values 218.


The computational circuitry 204 may take the form of processors, memory and other communications circuitry for providing a computational platform. The network connections 206 may take various forms including wireless and hard-wired network connections such as Ethernet, wireless Ethernet, Bluetooth®, USB, serial connections, pager networks, telephone networks, other radio frequency connections, and other hard-wired connections. The network connections 206 may permit communication with other networked devices via various protocols including TCP/IP, HTTP, FTP, SNMP, SMTP, SNPP, text messaging protocols, and UDP, among others. The network management system 202 may include more than one network connection 206. For example, the network management system 202 may include a connection to an intranet. In addition, the network management system 202 may include a connection to an external network such as a wide-area network or a global network such as the Internet.


The network management system 202 may include a query engine 208 and device definition files 210 associated with devices to be monitored on a network. The query engine 208 may interpret query instructions associated with the device definition file 210. The device definition files 210 may include query instructions, associated OIDs, associated values and units, and descriptions associated with devices on the network. The device definition file 210 may also include supplemental data and conversion codes associated with the OIDs. A different device definition file 210 may be provided for each device on the network. Alternately, device definition files 210 may be provided for each type of network equipment. Also, the DDFs may be provided for each vendor of networked devices. For example, device definition files 210 may be provided for servers, routers, switches, and other SNMP-enabled networked equipment. The query engine 208 may also query a device on the network using the query instructions of the device definition file 210 to determine which subset of query instructions apply to a particular device.


The network management system 202 may also include an SNMP-enabled interface 212. The SNMP-enabled interface 212 may permit communication between the network management system 202 and devices on the network. Other interfaces may be provided for various network management protocols and the device definition files 210 or query engine 208 altered to communicate using these alternate protocols.


A data access interface 214 may also be provided. Users or central server systems may access this data access interface 214 to acquire response data from queries of network devices. The data access interface 214 may take various forms and communicate using various protocols such as HTTP, SMTP, FTP, and text messaging formats. For example, the data access interface 214 may provide an HTML, XML, or plain text file containing requested data associated with the device definition file 210 and devices on the network. Alternately, the data access interface 214 may provide for the FTP access of data files. In another embodiment, the data access interface 214 may provide for SMTP access to data. The network management system 202 may e-mail notifications and data to users. In a further embodiment, the network management system 202 may have access to pager networks or telephone networks and transmit data in associated formats. In this manner, physical and environmental data associated with a device, for example, may be supplied to a user.


The network management system 202 may also include a device definition file generator 216. The definition file generator 216 may generate device definition files from data acquired from devices on the network. The generation of the device definition file may be performed upon discovery of the device or at the direction of a user. The definition file generator 216 may acquire a device definition file from a repository or may generate a device definition file using MIB information associated with the device. In either case, the user may supplement data associated with the device object identifications and MIB. In addition the user may provide for unit conversions.


The network monitoring system 202 may also include threshold values 218. These threshold values 218 may be set by a user and compared with values acquired through queries to network devices. Threshold values 218 may also be acquired from manufacturer suggested values stored in the MIB. If a value or the response data violates or transgresses a threshold value, the network monitoring system 202 may establish an alarm or notify a user. For example, the network monitoring system 202 may email a notification to a user, page a user, or send a text message to a user's portable phone or PDA.


One exemplary embodiment may use a network appliance as the hosting platform. The network monitoring system may be software that includes the components necessary to monitor network devices via SNMP, and the components necessary to interface with the DDFs. The network monitoring subsystem may download the vendor-specific DDFs from a DDF repository located on a server on the Internet, or from the local console if the user does not have an Internet connection. It may have the capability to periodically check the repository for new and updated DDFs. The system may then use the DDF information derived from or along with the corresponding MIBs to display the monitoring information to the user. Other embodiments of the network monitoring system may display network management information that allows the user to directly manage, as well as monitor, their network devices.


A further exemplary embodiment may allow the setting of thresholds on the derived OID values so that the user can be alerted to abnormal or unwanted network device conditions via the network appliance. The format and style of the thresholds are dependent on the data type in question, and may be dependent on a series of data types in order to completely determine the threshold conditions. Other network performance data is also monitored, such as network roundtrip time. Future versions of the DDFs could contain vendor recommended threshold information.


This exemplary embodiment may allow for surfacing the current values and alert states to other network monitoring solutions, both SNMP based and non-SNMP based. SNMP traps can be generated for alert conditions, and both alarm notifications and periodic status may be reported via HTTP (both POST and GET methods), FTP (STOR method), email, and alphanumeric paging. Other embodiments of the network monitoring systems may utilize other standard network protocols available at the time. The exemplary embodiment may include provisions for the delivery of alert notifications and periodic status reports, using the previously listed methods, across both an Ethernet-based TCP/IP network, as well as using alarm-initiated modem dial out (based on PPP). Additional delivery media, including 802.11a/b/g, cellular, RS-232, and Bluetooth®, are among the additional embodiments considered.



FIG. 3 depicts an exemplary device definition file 302. The device definition file 302 includes query instructions 304, supplemental data 306, and conversion instructions 308. The query instructions 304 may be interpreted to make queries to an MIB associated with a device. A network management system may use these queries and communicate with a device using a management protocol to collect values associated with object identifiers (OIDs). For example, the network management system may query physical or environmental parameters such as temperatures, fan speeds and power quality parameters. In other examples, the parameters may relate to humidity, voltage, current, dew point, audio information, and motion.


The supplemental data 306 and the conversion instructions 308 may be used to augment the results of the queries. In one exemplary embodiment, the supplemental data 306 and the conversion instructions 308 may be integrated into the query instructions 304. The supplemental data 306 may include descriptions, descriptive names, and preset values. The conversion instructions 308 may permit the unit conversion of data acquired through the queries 304. Unit conversions may be performed on management data so that the network monitoring application displays the units as expected by the end-user. The conversion instructions 308 may also permit replacement of values and character strings, and conversion from integer values to floating point values.


The query instruction may take the form of one of three query types, among others: static (single item surfaced from an OID), table (enumerated items surfaced from an OID), and noQuery (supplemental data provided by the device definition file author). The static query type may be used to obtain data from any or all of the set of MIBs that may be implemented by a particular SNMP agent. If the MIB defines a data type for the raw value of the object being obtained then the network monitoring system may dynamically obtain that value. Alternately, the raw value data type may be statically defined on that line by the author of the device definition file, or by definition file generation software. The raw value of the object may take on several different types including integers, and strings, among others. An enumerated type may also be allowed where an integer returned by the agent can correspond to either a string or number defined in the enumeration portion of the query line. This query type may have the ability to perform calculations on the returned value.


The scale and precision may also be queryable from a static line entry for objects with numeric data types, if this information is so contained in the MIB. If this information is not in the MIB, again, the device definition file author, or definition file generation software, may designate a value for scale and precision of the object.


Descriptive information may be queried from the agent when it is available. The descriptive information may take on any data type such as integer or string, as well as an enumerated data type. Additional descriptive identification strings can be prepended and/or appended to the description of the object contained in the MIB, if any.


In one exemplary embodiment, the static query type may be formatted as follows:


static:sensorDataType:sensorDataTypeOid:rawValueDataType:rawValueOid:


rawValueScaleDataType:rawValueScaleOid:rawValuePrecisionDataType:


rawValuePrecisionOid:descriptionDataType: descriptionOid:prependDescriptionText


:appendDescriptionText:


where:






    • <sensorDataType> is the type of value or data contained in the <rawValueOid>, including ‘DisplayString’, ‘Integer’, ‘am’ (Amperes), ‘dc’ (Degrees Celsius), ‘df’ (Degrees Fahrenheit), ‘fm’ (Feet/Minute), ‘ho’ (Hours), ‘hz’, (Hertz), ‘mi’ (Minutes), ‘mm’, Meters/Minute), ‘ot’ (Other), ‘pe’ (Percent), ‘rh’ (Percent Relative Humidity), ‘rp’ (Revolutions per Minute, or RPMs), ‘se’ (Seconds), ‘sp’ (Special Enumerated Type), ‘t1’, (time in HH:MM:SS:MS format), ‘t2’ (time in HH:MM:SS format), ‘t3’ (time in HH:MM format), ‘ti’ (Time Ticks), ‘un’ (Unknown), ‘va’ (Volts AC), ‘vd’ (Volts DC), ‘vo’ (Volts), ‘wa’ (Watts), among others. Additional types can be defined using the #define statement.

    • <sensorDataTypeOID> is an optional OID specifying the type of data contained in the raw value OID; only used where this type of data is enumerated.

    • <rawValueDataType> is either blank or enum{x, xs, y, ys, z, zs} where x, xs, y, ys, z, zs are value-string pairs used to determine the actual value where the value from the rawValueDataType represents a finite number of enumerated values.

    • <rawValueOid> the OID containing the unprocessed data.

    • <rawValueScaleDataType> specifies the scale or magnitude of the raw data. It is either a power of 10, or an enum{ } string representing a power of 10, as specified above. In the enum{ } case, the value used to choose the scale is obtained from the following field OID.

    • <rawValueScaleOid> specifies the OID used to determine the scale when that scale is an enumerated value from within the MIB.

    • <rawValuePrecisionDataType> specifies the precision (display precision) to be used for the data type. It can also be an enum{ } string, in which case the following field is used to choose the precision.

    • <rawValuePrecisionOid> specifies the OID used to determine the precision when that precision is an enumerated value from within the MIB.

    • <descriptionDataType> specifies the description, as an enumt{ } field, when the enum selection will be determined by the following OID.

    • <descriptionOid> specifies the description of the data. It can either be a STRING value or an integer used to enumerate through the above descriptionDataType.

    • <prependDescriptionText> specifies a string to be prepended to the resulting string (if any) from the combination of the descriptionOid and the descriptionDataType.

    • <appendDescriptionText> specifies a string to be appended to the resulting string (if any) from the combination of the descriptionOid and the descriptionDataType.





Examples of the static query type include:

    • static:dc:::1.3.6.1.4.1.5528.32.10.2:1::::::Temperature::
    • static:::DisplayString:1.3.6.1.4.1.674.10892.1.300.10.1.9.1:::::::Model::


Table query types may expand on the static queries by allowing the network system to apply a whole list of static queries to an index based table. Tabular MIB data is typically found in vendors' MIBS. The table query may be supplied with an object that when queried, the agent will return a list of numeric indices. These indices may then be appended to the original object and iterated through and applied to each following static entry in the table until a new entry is found in the device definition file, starting a new separate query. The static queries may take on the same form as described above in the static query type paragraph. Table queries may contain other tabular MIB objects in any of their fields. In this manner it is possible to pair object types, raw values, scales, precisions, and descriptions with data contained in separate individual tables in the MIB, by matching the index in the individual tables with the list of indices returned by the agent when the index object was queried.


In one exemplary embodiment, the table query type may be formatted as follows:


table:indexOid:sensorDataType:sensorDataTypeOid:rawValueDataType:


rawValueOid:rawValueScaleDataType:rawValueScaleOid:


rawValuePrecisionDataType:rawValuePrecisionOid:descriptionDataType:


descriptionOid:prependDescriptionText:appendDescriptionText:


where:






    • <indexOid> is the base SNMP OID of the index column for the table. Each value found in this column is enumerated through and used as an index for the other OID fields within the table line (and its continuation lines).
      • <sensorDataType> is the type of value or data contained in the <rawValueOid>, including ‘DisplayString’, ‘Integer’, ‘am’ (Amperes), ‘dc’ (Degrees Celsius), ‘df’ (Degrees Fahrenheit), ‘fm’ (Feet/Minute), ‘ho’ (Hours), ‘hz’, (Hertz), ‘mi’ (Minutes), ‘mm’, Meters/Minute), ‘ot’ (Other), ‘pe’ (Percent), ‘rh’ (Percent Relative Humidity), ‘rp’ (Revolutions per Minute, or RPMs), ‘se’ (Seconds), ‘sp’ (Special Enumerated Type), ‘t1’, (time in HH:MM:SS:MS format), ‘t2’ (time in HH:MM:SS format), ‘t3’ (time in HH:MM format), ‘ti’ (Time Ticks), ‘un’ (Unknown), ‘va’ (Volts AC), ‘vd’ (Volts DC), ‘vo’ (Volts), ‘wa’ (Watts), among others. Additional types can be defined using the #define statement.

    • <sensorDataTypeOID> is an optional OID specifying the type of data contained in the raw value OID; only used where this type of data is enumerated.

    • <rawValueDataType> is either blank or enum{x, xs, y, ys, z, zs} where x, xs, y, ys, z, zs are value-string pairs used to determine the actual value where the value from the rawValueDataType represents a finite number of enumerated values.

    • <rawValueOid> the OID containing the unprocessed data.

    • <rawValueScaleDataType> specifies the scale or magnitude of the raw data. It is either a power of 10, or an enum{ } string representing a power of 10, as specified above. In the enum { } case, the value used to choose the scale is obtained from the following field OID.

    • <rawValueScaleOid> specifies the OID used to determine the scale when that scale is an enumerated value from within the MIB.

    • <rawValuePrecisionDataType> specifies the precision (display precision) to be used for the data type. It can also be an enum{ } string, in which case the following field is used to choose the precision.

    • <rawValuePrecisionOid> specifies the OID used to determine the precision when that precision is an enumerated value from within the MIB.

    • <descriptionDataType> specifies the description, as an enum{0 } field, when the enum selection will be determined by the following OID.

    • <descriptionOid> specifies the description of the data. It can either be a STRING value or an integer used to enumerate through the above descriptionDataType.

    • <prependDescriptionText> specifies a string to be prepended to the resulting string (if any) from the combination of the descriptionOid and the descriptionDataType.

    • <appendDescriptionText> specifies a string to be appended to the resulting string (if any) from the combination of the descriptionOid and the descriptionDataType.





Each table line may have continuation lines which have the format:


:sensorDataType:sensorDataTypeOid:rawValueDataType:rawValueOid:


rawValueScaleDataType:rawValueScaleOid:rawValuePrecisionDataType:


rawValuePrecisionOid:descriptionDataType:descriptionOid:prependDescriptionText


:appendDescriptionText:


and where the fields have the same meanings as the primary table line.


Examples of the table query type include:

    • table: 1.3.6.1.4.1.674.10892.1.700.20.1.2:dc:::1.3.6.1.4.1.674.10892.1.700.2 0.1.10:1:::::1.3.6.1.4.1.674.10892.1.700.20.1.8::Upper Threshold: :dc:::1.3.6.1.4.1.674.10892.1.700.20.1.6:1:::::1.3.6.1.4.1.674.10892.1.700.2 0.1.8::::dc:::1.3.6.1.4.1.674.10892.1.700.20.1.13:1::::::1.3.6.1.4.1.674.10892.1.700. 20.1.8::Lower Threshold:
    • table: 1.3.6.1.4.1.9.9.91.1.1.1.1.1:enum{1,ot,2,un,3,va,4,vd,5,am,6,wa,7,hz, 8,dc,9,rh,10,rp,11,cm,12,tv,13,sp}:1.3.6.1.4.1.9.9.91.1.1.1.1.1::1.3.6.1.4.1. 9.9.91.1.1.1.1.4:enum{1,−24,2,−21,3,−18,4,−15,5,−12,6,−7,9,−6,8,−3,9,0,10,3,11,6,12,9,13,12,14,18,15,15,16,21,17,24}:1.3.6.1.4.1.91.1.1.1. 1.1.2::1.3.6.1.4.1.9.9.91.1.1.1.1.3::1.3.6.1.2.1.47.1.1.1.1.2:::


The noQuery type may be used to publish additional data to the user interface that is desirable to be shown with the data being monitored, but the vendor failed to include in any MIB file implemented by the agent. The noQuery line may have the ability to specify the data type of the raw value to be displayed. The raw value may be in this case, of course, statically defined in the device definition file itself. In order for this data to qualify for being displayed with the other data being monitored from a specific agent, the noQuery type may specify an object in the agent's MIB. In one exemplary embodiment, the data will not be displayed if the agent does not return a value. This validates that the agent is one that the network system software knows this data should be displayed for, as long as a token object exists in its MIB. A description of the data being displayed may be specified as well in the device definition file.


The noQuery type may be formatted as follows:


noQuery:<rawValueDataType>:<rawValue>:<requiredOid>:<optionalDescriptionText>


where:






    • <rawValueDataType> is the type of data to be displayed, including ‘DisplayString’, ‘Integer’, ‘am’ (Amperes), ‘dc’ (Degrees Celsius), ‘df’ (Degrees Fahrenheit), ‘fm’ (Feet/Minute), ‘ho’ (Hours), ‘hz’, (Hertz), ‘mi’ (Minutes), ‘mm’, Meters/Minute), ‘ot’ (Other), ‘pe’ (Percent), ‘rh’ (Percent Relative Humidity), ‘rp’ (Revolutions per Minute, or RPMs), ‘se’ (Seconds), ‘sp’ (Special Enumerated Type), ‘t1’, (time in HH:MM:SS:MS format), ‘t2’ (time in HH:MM:SS format), ‘t3’ (time in HH:MM format), ‘ti’ (Time Ticks), ‘un’ (Unknown), ‘va’ (Volts AC), ‘vd’ (Volts DC), ‘vo’ (Volts), ‘wa’ (Watts). Additional types can be defined using the #define statement.

    • <rawValue> is the value of the attribute

    • <requiredOid> is the SNMP OID of an object that exist on the device in order for the attribute to be relevant

    • <optionalDescriptionText> is a user-friendly label for the attribute





Examples of the noQuery type include:

    • noQuery:DisplayString:NetBotz:1.3.6.1.4.1.5528.30.10.1:Vendor
    • noQuery:DisplayString:Compaq:1.3.6.1.4.1.232.2.2.4.2:Vendor:



FIG. 4 depicts a method for generating a device definition file (DDF). At step 402, the MIB is located for a device. This MIB may be provided by the vendor or acquired from the device. The MIB may then be parsed, as shown in step 404. The parsing may use a keyword search within the MIB to produce the initial DDF, which may then be modified by the DDF author with management information that is not derived programmatically. The keywords may be used to determine or surface the OIDs of interest, as shown in step 406. These OIDs may include different types of management data, such as environmental, performance, or inventory data.


Using the OIDs, query instructions may be written, as shown at step 408. If available, these query instructions may be correlated with other OIDs indicating description data, as shown at step 410. The query instructions may be static, table, or noQuery type instructions. The static query instructions may include a reference to the OID and a reference to the correlated description OID. A table query instruction may include a reference to a wildcard or MIB branch starting point. The table query may also include a reference to a correlated description OID starting point.


The data format of the values returned through queries associated with the query instructions may be determined, as shown at step 412. This data format may include characters, integers, and other formats. The data may be supplemented and converted. Integer values may be converted to floating point values. Integers may be replaced with descriptive strings and non-query data may be supplied as descriptions. The supplemental data and conversion codes may be added to the query instructions, as shown in step 414. A set of query instructions including OIDs, supplemental data, and conversion codes may then be saved as a device definition file, as shown in step 416.


The device definition file may be made manually or automatically. Other embodiments could utilize a graphical user-interface that builds the device definition file interactively, depending on the type of network management the user was interested in, or employ the internet to search known MIB repositories from specific network device vendors. Additional query types can be added to handle changes or additions to the MIB structure as needed.



FIG. 5 depicts a method for providing access to data associated with a network device using a device definition file. A target device may be defined, as shown in step 502. An interface may be provided to a user to provide the address and other information associated with the device. A device definition file associated with the device may also be installed, as shown in step 504. Also, multiple device definition files may be installed. Multiple device definitions files may apply to a single device. Device definition files may be structured so that they are generic or cover a class of devices or similar devices from a specific vendor. Therefore a device definition file associated with the device may be installed prior to the definition of the target device.


In step 506, an initial query is made to the device to determine what portion of the device definition file(s) applies to the device. The device definition file may be written in a device specific form. In which case, the whole device definition file may be applicable. However, if the device definition file is written to cover a class of devices or devices with similar MIBs, a subset of the query instructions may apply or a wildcard reference to a branch in the MIB tree may return a different set of OIDs. The results of the initial queries may be stored as selected queries associated with the device, as shown in step 508.


Periodically or on-demand, the network monitoring system may query the device, as shown in step 510. The device may provide response data to the network monitoring system. The network monitoring system may interpret these results and provide the response data or interpreted response data to a user or user interface, as shown in step 512. The network monitoring system may convert units and numerical types, replace integers with corresponding entries in an enumerated list, replace descriptive names, and perform other functions in accordance with the device definition file to provide the interpreted response data to the user.


The response data may also be compared to threshold values, as shown in step 514. If the response data transgresses threshold values or violates rules associated with the threshold values, a notification may be sent to a user, as shown in step 516. This notification may be an email, page, text message, or other communications. Alternately, the notification may be a visual change or audio alarm encoded in an HTML page.


Using the descriptions provided by the DDF, an exemplary embodiment may provide an easy to use and friendly presentation of the desired SNMP data provided by the device. Unlike typical SNMP tools, the labels presented may be easy to read and have plain meaning, as opposed to the symbolic names dictated by the MIB syntax standard. In an exemplary embodiment, the user is presented with only relevant desired SNMP data, as opposed to all objects in a MIB. An example panel, derived from a DDF, is shown in FIG. 6.


In this example, several of the aspects of the interface are evident. The description labels are clear and descriptive, as opposed to being cryptic and symbolic. The values of many of the fields are floating point (a format not supported by SNMP natively). In the example shown in FIG. 6, the DDF provides a scaling factor to convert the raw data (which was an integer number of millivolts) to the more familiar unit (volts). By using the table query, coupled with the description OIDs, a number of different attributes (the various voltages instrumented by the vendor MIB) are presented in a clear and easy to identify manner, without requiring explicit definitions for each attribute.


The Network Monitor may also provide an interface for the definition of thresholds, as shown in FIG. 7 and FIG. 8. This interface may provide support for a variety of logical comparison operations (greater-than, less-than, not-equal, etc), allowing a high degree of control over threshold definitions.


The user may also enter in custom OIDs, allowing support of additional, device-specific or application-specific instrumentation. As shown in FIG. 8, the user is enabled to enter in a description of the field, as well as being allowed to select between a variety of interpretations of the data (including scaling of the values).


The network monitoring system may also collect a variety of generic or device independent information, including various MIB-2 SNMP data and trace route information. The trace route information describes the routing of packets between the network monitoring system and the device being monitored. This information may be summarized, and presented for user viewing as shown in FIG. 9. This information may also be monitored, and alert notifications generated, when abnormal results are obtained. The routing information may also be included in any alarm notifications, which can prove invaluable when attempting to determine the source of a network outage since loss of contact with a device may mean the device has failed or the network between the network monitoring system and the device has failed.


Example device definition files are provided. The following device definition file is an example of a 3rd party equipment device definition file.


NBOCFV3F1.0 Example Corporation


static:::DisplayString:1.3.6.1.4.1.674.10892.1.300.10.1.8.1:::::::Vendor::


static:::DisplayString:1.3.6.1.4.1.674.10892.1.300.10.1.9.1:::::::Model::


table:1.3.6.1.4.1.674.10892.1.600.12.1.2:::enum{1,Other,2,Unknown,3,OK,4, Non-critical,5,Critical,6,Nonrecoverable}:1.3.6.1.4.1.674.10892.1.600.12.1.5:::::: 1.3.6.1.4.1.674.10892.1.600.12.1.8:::


:::enum{1,Other,2,Unknown,3,Full,4,Degraded,5,Lost,6,Not Redundant,7, Redundancy Offline}:1.3.6.1.4.1.674.10892.1.600.10.1.5:::::: 1.3.6.1.4.1.674.10892.1. 600.10.1.7:::


table: 1.3.6.1.4.1.674.10892.1.700.20.1.2:dc::1.3.6.1.4.1.674.10892.1.700.20.1.10 :1:::::1.3.6.1.4.1.674.10892.1.700.20.1.8::Upper Threshold:


:dc:::1.3.6.1.4.1.674.10892.1.700.20.1.6:1:::::1.3.6.1.4.1.674.10892.1.700.20.1.8:: :


:dc:::1.3.6.1.4.1.674.10892.1.700.20.1.13:1:::::1.3.6.1.4.1.674.10892.1.700.20.1.8: :Lower Threshold:


table:1.3.6.1.4.1.674.10892.1.700.12.1.2:rp:::1.3.6.1.4.1.674.10892.1.700.12.1.10: :::::1.3.6.1.4.1.674.10892.1.700.12.1.8::Upper Threshold:


:rp:::1.3.6.1.4.1.674.10892.1.700.12.1.6::::::1.3.6.1.4.1.674.10892.1.700.12.1.8:::


:rp:::1.3.6.1.4.1.674.10892.1.700.12.1.13::::::1.3.6.1.4.1.674.10892.1.700.12.1.8:: Lower Threshold:


table:1.3.6.1.4.1.674.10892.1.600.20.1.2:vo:::1.3.6.1.4.1.674.10892.1.600.20.1.10 :3:::::1.3.6.1.4.1.674.10892.1.600.20.1.8::Upper Threshold:


:vo:::1.3.6.1.4.1.674.10892.1.600.20.1.6:3:::::1.3.6.1.4.1.674.10892.1.600.20.1.8:: :


:vo:::1.3.6.1.4.1.674.10892.1.600.20.1.13:3:::::1.3.6.1.4.1.674.10892.1.600.20.1.8::Lower Threshold:


table:1.3.6.1.4.1.674.10892.1.600.30.1.2:am:::1.3.6.1.4.1.674.10892.1.600.30.1.1 0:3:::::1.3.6.1.4.1.674.10892.1.600.30.1.8::Upper Threshold:


:am:::1.3.6.1.4.1.674.10892.1.600.30.1.6:3:::::1.3.6.1.4.1.674.10892.1.600.30.1.8: ::


:am:::1.3.6.1.4.1.674.10892.1.600.30.1.13:3:::::1.3.6.1.4.1.674.10892.1.600.30.1.8::Lower Threshold:


The following is an example of a network appliance device definition file.


NBOCFV3F1.0 Company


noQuery:DisplayString:Company:1.3.6.1.4.1.5528.30.10.1:Vendor:


static:::DisplayString:1.3.6.1.4.1.5528.32.10.1:::::::Model::


static:dc:::1.3.6.1.4.1.5528.32.10.2:1::::::Temperature::


static:rh:::1.3.6.1.4.1.5528.32.10.3:::::::Humidity::


static:mm:::1.3.6.1.4.1.5528.32.10.4:::::::Airflow::


static:::enum{0,No,1,Yes}:1.3.6.1.4.1.5528.32.10.5:::::::Audio Alarm::


static:::enum{1,Open,0,Closed}:1.3.6.1.4.1.5528.32.10.6:::::::Door Switch::


static:dc:::1.3.6.1.4.1.5528.32.10.7:1::::::Temperature Lower Threshold::


static:dc:::1.3.6.1.4.1.5528.32.10.8:1::::::Temperature Upper Threshold::


static:rh:::1.3.6.1.4.1.5528.32.10.9:::::::Humidity Lower Threshold::


static:rh:::1.3.6.1.4.1.5528.32.10.10:::::::Humidity Upper Threshold::


static:::Integer:1.3.6.1.4.1.5528.32.10.11:::::::Airflow Minutes Off Before Alarm::


static:::Integer:1.3.6.1.4.1.5528.32.10.12:::::::Seconds of Audio Before Alarm::


static:::enum {0,Alarm on Closed,1,Alarm on


Open}:1.3.6.1.4.1.5528.32.10.13:::::::Door Switch Alarm Setting::


static:::Integer:1.3.6.1.4.1.5528.32.10.14:::::::Audio Sensor Sensitivity:


static:mm:::1.3.6.1.4.1.5528.32.10.15:::::::Airflow Lower Threshold::


static:::enum{0,No Motion,1,Motion Detected,−1,Not


Licensed}:1.3.6.1.4.1.5528.32.10.16:::::::Camera Motion::


static:::Integer:1.3.6.1.4.1.5528.32.10.17:::::::Camera Motion Sensitivity (1-max, 15-min, 0-disabled)::


The above disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments which fall within the true spirit and scope of the present invention. Thus, to the maximum extent allowed by law, the scope of the present invention is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description.

Claims
  • 1. A network monitoring appliance for monitoring a remote network device, the network monitoring appliance comprising: at least one device definition file residing on the network monitoring appliance and comprising query instructions and conversion instructions, the query instructions and conversion instructions being associated with the remote network device, the query instructions including at least one instruction for accessing supplemental data in the at least one device definition file, the supplemental data including at least one description for display in a user interface, the at least one description being associated with at least one object identification of the remote network device, the conversion instructions including at least one scaling factor for converting a unit of measure of response data;a simple network management protocol enabled communications interface configured to: access the remote network device using the query instructions;receive the response data from the remote network device;manipulate the response data using the conversion instructions; andadd at least a portion of the supplemental data including the at least one description to the response data; anda data access interface configured to provide external access to the response data.
  • 2. The network monitoring appliance of claim 1, wherein the device definition file is stored in a non-volatile storage.
  • 3. The network monitoring appliance of claim 1, wherein the device definition file is acquired from a repository.
  • 4. The network monitoring appliance of claim 3, wherein the device definition file is retrieved from a remote storage in response to detection of the remote network device on the network.
  • 5. The network monitoring appliance of claim 3, wherein the device definition file is replaced by an updated device definition file.
  • 6. The network monitoring appliance of claim 1, wherein a notification is communicated by the data access interface in response to comparison of a value associated with the query instructions and a threshold value.
  • 7. The network monitoring appliance of claim 1, wherein the query instructions are associated with the at least one object identification and the at least one object identification is associated with a management information base.
  • 8. The network monitoring appliance of claim 7, wherein the at least one object identification is associated with an environmental measurement.
  • 9. The network monitoring appliance of claim 7, wherein the at least one object identification is associated with a physical measurement.
  • 10. The network monitoring appliance of claim 7, wherein the object identification is associated with a measurement selected from the group consisting of fan speed, temperature, and power quality.
  • 11. A network monitoring appliance for monitoring a remote network device, the network monitoring appliance comprising: at least one definition file residing on the network monitoring appliance and comprising query instructions for accessing a management information base supporting the remote network device and further comprising conversion instructions, wherein the query instructions and the conversion instructions are associated with the remote network device, the query instructions include at least one instruction for accessing supplemental data in the at least one device definition file, the supplemental data includes at least one description for display in a user interface, the at least one description is associated with at least one object identification of the remote network device and the conversion instructions include at least one scaling factor for converting a unit of measure of response data;a simple network management protocol communications interface configured to: access the remote network device using the query instructions;receive the response data from the remote network device;manipulate the response data using the conversion instructions; andadd at least a portion of the supplemental data including the at least one description to the response data; anda data access interface configured to send a notification in response to a comparison of a threshold value and the response data.
  • 12. The network monitoring appliance of claim 11, wherein the device definition file is stored in a non-volatile storage.
  • 13. The network monitoring appliance of claim 11, wherein the device definition file is acquired from a repository.
  • 14. The network monitoring appliance of claim 13, wherein the device definition file is retrieved from a remote storage in response to detection of the remote network device on the network.
  • 15. The network monitoring appliance of claim 13, wherein the device definition file is replaced by an updated device definition file.
  • 16. The network monitoring appliance of claim 11, wherein the notification is communicated by the data access interface in response to comparison of a value associated with the query instructions and a threshold value.
  • 17. The network monitoring appliance of claim 11, wherein the query instructions are associated with the at least one object identification and the at least one object identification is associated with the management information base incorporated together with the remote network device.
  • 18. The network monitoring appliance of claim 17, wherein the object identification is associated with an environmental measurement.
  • 19. The network monitoring appliance of claim 17, wherein the object identification is associated with a physical measurement.
  • 20. The network monitoring appliance of claim 17, wherein the at least one object identification is associated with a measurement selected from the group consisting of fan speed, temperature, and power quality.
  • 21. A device definition file stored on a network monitoring appliance and associated with a remote network device, the device definition file comprising: query instructions for accessing a management information base using a simple network management protocol interface, the query instructions being associated with the remote network device and including at least one instruction for accessing supplemental data in the at least one device definition file;supplemental data associated with the remote network device, the supplemental data including at least one description for display in a user interface, the at least one description being associated with at least one object identification of the remote network device;computer-implemented instructions for unit conversion of at least one field of retrieved data associated with the query instructions, the instructions for unit conversion being associated with the remote network device and including at least one scaling factor for converting a unit of measure of the at least one field of retrieved data; andcomputer-implemented instructions for adding at least a portion of the supplemental data including the at least one description to the response data.
  • 22. The device definition file of claim 21, wherein the supplemental data includes a list of descriptive names.
  • 23. The device definition file of claim 21, wherein the query instructions includes a static query.
  • 24. The device definition file of claim 21, wherein the query instructions are associated with the at least one object identification and the object identification is associated with parameters selected from the group consisting of temperature, power quality, and fan speed.
  • 25. The device definition file of claim 21, wherein the query includes a table query.
  • 26. The device definition file of claim 21, wherein the device definition file includes information stored in a computer memory.
  • 27. In a network monitoring appliance, a method of producing converted data associated with a remote network device, the method comprising: accessing the remote network device to retrieve response data from the remote network device using query instructions associated with a device definition file and an associated simple network management protocol interface, the device definition file residing on the network monitoring appliance;retrieving supplemental data from the device definition file, the supplemental data including at least one description for display in a user interface, the at least one description being associated with at least one object identification of the remote network device;receiving the response data from the remote network device;converting the response data in accordance with conversion instructions included in the device definition file to produce converted data, the conversion instructions being associated with the remote network device and including at least one scaling factor for converting a unit of measure of the response data; andadding at least a portion of the supplemental data including the at least one description to the response data.
  • 28. The method of claim 27, further comprising defining the remote network device.
  • 29. The method of claim 27, further comprising installing the device definition file associated with the remote network device.
  • 30. The method of claim 27, further comprising determining a portion of the device definition file applicable to the remote network device.
  • 31. The method of claim 30, further comprising saving queries associated within the portion of the device definition file applicable to the remote network device.
  • 32. The method of claim 27, further comprising: comparing the response data to a threshold value; andselectively sending a notification in response to the step of comparing.
  • 33. The network monitoring appliance of claim 1, wherein the response data is data measured by the remote network device.
  • 34. The network monitoring appliance of claim 11, wherein the response data is data measured by the remote network device.
  • 35. The device definition file of claim 21, wherein the retrieved data is data measured by the remote network device.
  • 36. The method of claim 27, wherein the response data from the remote network device is data measured by the remote network device.
  • 37. A network appliance for monitoring a remote network device, the network appliance comprising: a processor configured to be coupled to the remote network device via a network connection;a memory including computer readable instructions configured to cause the processor to: detect whether the remote network device is coupled to the processor;produce a device definition file corresponding to the remote network device by causing the processor to: access a management information base;parse the management information base to identify an object identifier of interest;store the device definition file in the memory;retrieve supplemental data stored in the device definition file, the supplemental data including at least one description for display in a user interface, the at least one description being associated with an object identification of the remote network device;convert measured response data received from the remote network device using a scaling factor included in the device definition file; andadd at least a portion of the supplemental data including the at least one description to the response data.
  • 38. The network appliance of claim 37, wherein the generation of the device definition file further includes producing query instructions using the object identifier of interest.
  • 39. The network appliance of claim 37, wherein the generation of the device definition file further includes producing supplemental instructions associated with the remote network device.
  • 40. The network appliance of claim 37, wherein the generation of the device definition file further includes producing conversion instructions associated with the remote network device.
  • 41. The network monitoring appliance of claim 1, wherein the network monitoring appliance is a stand-alone device built to perform a well-defined set of functions and that is capable of connecting to a global network.
CROSS-REFERENCE TO RELATED APPLICATION(S)

The present application claims priority from U.S. provisional patent application No. 60/377,708, filed May 3, 2002, entitled “Method and Apparatus for Collecting and Displaying Network Device Information,” naming inventors Gary Faulkner and Joshua Thomas Martinek, which application is incorporated by reference herein in its entirety.

US Referenced Citations (203)
Number Name Date Kind
3810138 Thompson et al. May 1974 A
4349879 Peddie et al. Sep 1982 A
4521645 Carroll Jun 1985 A
4568934 Allgood Feb 1986 A
4636652 Raes Jan 1987 A
4637020 Schinabeck Jan 1987 A
4650347 Shigemura et al. Mar 1987 A
4668939 Kimura et al. May 1987 A
4718025 Minor et al. Jan 1988 A
4747041 Engel et al. May 1988 A
4751648 Sears, III et al. Jun 1988 A
4816208 Woods et al. Mar 1989 A
4823290 Fasack et al. Apr 1989 A
4964065 Hicks et al. Oct 1990 A
5043807 Rabii Aug 1991 A
5061916 French et al. Oct 1991 A
5086385 Launey et al. Feb 1992 A
5097328 Boyette Mar 1992 A
5109278 Erickson et al. Apr 1992 A
5153837 Shaffer et al. Oct 1992 A
5157732 Ishii et al. Oct 1992 A
5189394 Walter et al. Feb 1993 A
5216623 Barrett et al. Jun 1993 A
5220522 Wilson et al. Jun 1993 A
5225997 Lederer et al. Jul 1993 A
5229850 Toyoshima Jul 1993 A
5262758 Nam et al. Nov 1993 A
5289275 Ishii et al. Feb 1994 A
5317742 Bapat May 1994 A
5367670 Ward et al. Nov 1994 A
5382943 Tanaka Jan 1995 A
5395042 Riley et al. Mar 1995 A
5404136 Marsden Apr 1995 A
5475364 Kenet Dec 1995 A
5488430 Hong Jan 1996 A
5491511 Odle Feb 1996 A
5508941 Leplingard et al. Apr 1996 A
5528507 McNamara et al. Jun 1996 A
5548659 Okamoto Aug 1996 A
5553609 Chen et al. Sep 1996 A
5561476 Kershaw et al. Oct 1996 A
5566339 Perholtz et al. Oct 1996 A
5572195 Heller et al. Nov 1996 A
5581478 Cruse et al. Dec 1996 A
5586202 Ohki et al. Dec 1996 A
5588067 Peterson et al. Dec 1996 A
5589764 Lee Dec 1996 A
5602585 Dickinson et al. Feb 1997 A
5621662 Humphries et al. Apr 1997 A
5659470 Goska et al. Aug 1997 A
5664202 Chen et al. Sep 1997 A
5715160 Plotke Feb 1998 A
5731832 Ng Mar 1998 A
5732074 Spaur et al. Mar 1998 A
5737518 Grover et al. Apr 1998 A
5742762 Scholl et al. Apr 1998 A
RE35793 Halpern May 1998 E
5768430 Takashima et al. Jun 1998 A
5798798 Rector et al. Aug 1998 A
5805458 McNamara et al. Sep 1998 A
5812055 Candy et al. Sep 1998 A
5818725 McNamara et al. Oct 1998 A
5822302 Scheetz et al. Oct 1998 A
5829130 Miller Nov 1998 A
5892440 Bryan Apr 1999 A
5905867 Giorgio et al. May 1999 A
5913037 Spofford et al. Jun 1999 A
5926210 Hackett et al. Jul 1999 A
5937092 Wootton et al. Aug 1999 A
5937097 Lennon Aug 1999 A
5949974 Ewing et al. Sep 1999 A
5955946 Beheshti et al. Sep 1999 A
5963457 Kanoi et al. Oct 1999 A
5963958 Cottrill Oct 1999 A
5968116 Day, II et al. Oct 1999 A
5974237 Shurmer et al. Oct 1999 A
5978594 Bonnell et al. Nov 1999 A
5978912 Rakavy et al. Nov 1999 A
5987614 Mitchell et al. Nov 1999 A
5991885 Chang et al. Nov 1999 A
5999179 Kekic et al. Dec 1999 A
6001065 DeVito Dec 1999 A
6052750 Lea Apr 2000 A
6055480 Nevo et al. Apr 2000 A
6057834 Pickover May 2000 A
6058434 Wilt et al. May 2000 A
6078253 Fowler Jun 2000 A
6081606 Hansen et al. Jun 2000 A
6085243 Fletcher et al. Jul 2000 A
6088816 Nouri et al. Jul 2000 A
6094676 Gray et al. Jul 2000 A
6100806 Gaukel Aug 2000 A
6104755 Ohara Aug 2000 A
6104868 Peters et al. Aug 2000 A
6105061 Nakai Aug 2000 A
6108782 Fletcher et al. Aug 2000 A
6112235 Spofford Aug 2000 A
6115468 De Nicolo Sep 2000 A
6122603 Budike, Jr. Sep 2000 A
6122639 Babu et al. Sep 2000 A
6125145 Koyanagi et al. Sep 2000 A
6138078 Canada et al. Oct 2000 A
6138249 Nolet Oct 2000 A
6139177 Venkatraman et al. Oct 2000 A
6144770 Lennon Nov 2000 A
6148262 Fry Nov 2000 A
6157943 Meyer Dec 2000 A
6160584 Yanagita Dec 2000 A
6160926 Dow et al. Dec 2000 A
6167406 Hoskins et al. Dec 2000 A
6170007 Venkatraman et al. Jan 2001 B1
6173323 Moghe Jan 2001 B1
6175866 Holloway et al. Jan 2001 B1
6175927 Cromer et al. Jan 2001 B1
6177884 Hunt et al. Jan 2001 B1
6182094 Humpleman et al. Jan 2001 B1
6182157 Schlencer et al. Jan 2001 B1
6189109 Sheikh et al. Feb 2001 B1
6195018 Ragle et al. Feb 2001 B1
6208261 Olstead Mar 2001 B1
6208345 Sheard et al. Mar 2001 B1
6215404 Morales Apr 2001 B1
6219628 Kodosky et al. Apr 2001 B1
6229429 Horon May 2001 B1
6236332 Conkright et al. May 2001 B1
6246780 Sato Jun 2001 B1
6259956 Myers et al. Jul 2001 B1
6266721 Sheikh et al. Jul 2001 B1
6271845 Richardson Aug 2001 B1
6272537 Kekic et al. Aug 2001 B1
6281790 Kimmel et al. Aug 2001 B1
6282546 Gleichauf et al. Aug 2001 B1
6298144 Pucker, II et al. Oct 2001 B1
6304900 Cromer et al. Oct 2001 B1
6311105 Budike, Jr. Oct 2001 B1
6311214 Rhoads Oct 2001 B1
6324644 Rakavy et al. Nov 2001 B1
6329792 Dunn et al. Dec 2001 B1
6332202 Sheikh et al. Dec 2001 B1
6338094 Scott et al. Jan 2002 B1
6343320 Fairchild et al. Jan 2002 B1
6360255 McCormack et al. Mar 2002 B1
6363421 Barker et al. Mar 2002 B2
6363422 Hunter et al. Mar 2002 B1
6373840 Chen Apr 2002 B1
6374296 Lim et al. Apr 2002 B1
6375614 Braun et al. Apr 2002 B1
6381700 Yoshida Apr 2002 B1
6389464 Krishnamurthy et al. May 2002 B1
6396534 Mahler et al. May 2002 B1
6400103 Adamson Jun 2002 B1
6400996 Hoffberg et al. Jun 2002 B1
6402691 Peddicord et al. Jun 2002 B1
6404348 Wilfong Jun 2002 B1
6405216 Minnaert et al. Jun 2002 B1
6477667 Levi et al. Nov 2002 B1
6496105 Fisher et al. Dec 2002 B2
6505086 Dodd, Jr. et al. Jan 2003 B1
6505256 York Jan 2003 B1
6510350 Steen, III et al. Jan 2003 B1
6529230 Chong Mar 2003 B1
6529936 Mayo et al. Mar 2003 B1
6553336 Johnson et al. Apr 2003 B1
6553418 Collins et al. Apr 2003 B1
6591279 Emens et al. Jul 2003 B1
6611866 Goldman Aug 2003 B1
6615201 Seshadri et al. Sep 2003 B1
6640145 Hoffberg et al. Oct 2003 B2
6681787 Tinsley et al. Jan 2004 B2
6686838 Rezvani et al. Feb 2004 B1
6714977 Fowler et al. Mar 2004 B1
6756998 Bilger Jun 2004 B1
6801940 Moran et al. Oct 2004 B1
6829630 Pajak et al. Dec 2004 B1
6985901 Sachse et al. Jan 2006 B1
7120689 Gonsalves et al. Oct 2006 B2
7159022 Primm et al. Jan 2007 B2
7240364 Branscomb et al. Jul 2007 B1
7266595 Black et al. Sep 2007 B1
20010005894 Fukui Jun 2001 A1
20010047213 Sepe, Jr. Nov 2001 A1
20010047410 Defosse Nov 2001 A1
20010052006 Barker et al. Dec 2001 A1
20010055965 Delp et al. Dec 2001 A1
20020003575 Marchese Jan 2002 A1
20020023258 Elwahab et al. Feb 2002 A1
20020041603 Kato Apr 2002 A1
20020043969 Duncan et al. Apr 2002 A1
20020071031 Lord et al. Jun 2002 A1
20020072868 Bartone et al. Jun 2002 A1
20020083378 Nickels Jun 2002 A1
20020124081 Primm et al. Sep 2002 A1
20020152298 Kikta et al. Oct 2002 A1
20020161885 Childers et al. Oct 2002 A1
20020165961 Everdell et al. Nov 2002 A1
20020174223 Childers et al. Nov 2002 A1
20030028895 Buehler et al. Feb 2003 A1
20030191765 Bargh et al. Feb 2003 A1
20030098789 Murakami et al. May 2003 A1
20030099254 Richter May 2003 A1
20030126195 Reynolds et al. Jul 2003 A1
20030204756 Ransom et al. Oct 2003 A1
20060010232 Page et al. Jan 2006 A1
Foreign Referenced Citations (97)
Number Date Country
3855395 Jun 1996 AU
5601198 Jul 1998 AU
0016673 Jun 2000 AU
2300053-AA Feb 1999 CA
2310275-AA Jun 1999 CA
2328939-AA Sep 1999 CA
87100353 Sep 1988 CN
1294350 May 2001 CN
0444997 Feb 1991 EP
0 591 585 Apr 1994 EP
0738065 Mar 1996 EP
0744112 Nov 1996 EP
0859489 Jan 1998 EP
0978780 Aug 1998 EP
0917034 Oct 1998 EP
0917034 Oct 1998 EP
0963076 May 1999 EP
0964551 Jun 1999 EP
0 927 933 Jul 1999 EP
0977112 Jul 1999 EP
0956680 Nov 1999 EP
1014622 Dec 1999 EP
0 990 986 Apr 2000 EP
0992100 Apr 2000 EP
1002268 May 2000 EP
1 009 130 Jun 2000 EP
1032884 Sep 2000 EP
1 049 291 Nov 2000 EP
1115264 Dec 2000 EP
1124301 Dec 2000 EP
1 096 724 May 2001 EP
1 150 188 Oct 2001 EP
1142289 Oct 2001 EP
1 178 628 Feb 2002 EP
9826895 Jan 1999 GB
9913682 Aug 1999 GB
2335124 Sep 1999 GB
2343036 Apr 2000 GB
2344718 Jun 2000 GB
2351205 Dec 2000 GB
2344718 Jan 2001 GB
2355163 Apr 2001 GB
2359369 Aug 2001 GB
9300145 Aug 1993 HU
3099398 Apr 1991 JP
5040889 Feb 1993 JP
6105376 Apr 1994 JP
6119581 Apr 1994 JP
8307541 Nov 1996 JP
11164035 Jun 1999 JP
11219388 Aug 1999 JP
2000092092 Mar 2000 JP
2000134606 May 2000 JP
2000151606 May 2000 JP
2000-209204 Jul 2000 JP
2000278773 Oct 2000 JP
0443058 Jun 2001 TW
0448349 Aug 2001 TW
WO-9521506 Aug 1995 WO
WO-9615615 May 1996 WO
WO-9730879 Aug 1997 WO
WO-9801838 Jan 1998 WO
WO-9826541 Jun 1998 WO
WO-9908183 Feb 1999 WO
WO 9915950 Apr 1999 WO
WO-9927456 Jun 1999 WO
WO-9945445 Sep 1999 WO
WO-0035177 Jun 2000 WO
WO-0039724 Jul 2000 WO
WO-0054557 Sep 2000 WO
WO-0073866 Dec 2000 WO
WO-0079500 Dec 2000 WO
WO-0101366 Jan 2001 WO
WO-0108396 Feb 2001 WO
WO-0127763 Apr 2001 WO
WO-0157631 Aug 2001 WO
WO-0161665 Aug 2001 WO
WO-0169405 Sep 2001 WO
WO 0169504 Sep 2001 WO
WO-0179935 Oct 2001 WO
WO-0157477 Nov 2001 WO
WO-0182028 Nov 2001 WO
WO-0193042 Dec 2001 WO
WO-0193508 Dec 2001 WO
WO-0197907 Dec 2001 WO
WO-0199402 Dec 2001 WO
WO-0201877 Jan 2002 WO
WO-0211391 Feb 2002 WO
WO-0169405 Mar 2002 WO
0233980 Apr 2002 WO
WO-0237280 May 2002 WO
WO-0079500 Jun 2002 WO
WO-0247044 Jun 2002 WO
WO-0247369 Jun 2002 WO
WO-0248830 Jun 2002 WO
WO-0249285 Jun 2002 WO
03094031 Nov 2003 WO
Related Publications (1)
Number Date Country
20030208480 A1 Nov 2003 US
Provisional Applications (1)
Number Date Country
60377708 May 2002 US