Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS7506048 B1
Publication typeGrant
Application numberUS 10/162,402
Publication dateMar 17, 2009
Filing dateJun 5, 2002
Priority dateJun 5, 2002
Fee statusPaid
Also published asDE60308755D1, DE60308755T2, EP1370025A1, EP1370025B1
Publication number10162402, 162402, US 7506048 B1, US 7506048B1, US-B1-7506048, US7506048 B1, US7506048B1
InventorsTetsuro Motoyama
Original AssigneeRicoh Co. Ltd.
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
Method and system for monitoring network connected devices and displaying device status
US 7506048 B1
Abstract
A method of monitoring a device among distinct devices communicatively coupled to a network is described. The method includes the steps of accessing a device, receiving information from the accessed device, parsing the received information to extract parameter values representing an operational status of the device, retrieving operational status information corresponding to the extracted parameter values from a database. The database stores operational status information for said distinct devices. The operational status information is displayed, using the operational status information retrieved from the database, to a user in a user-comprehensible format.
Images(10)
Previous page
Next page
Claims(12)
1. A method of monitoring, by a monitoring system, a monitored device among distinct devices communicatively coupled to a network, the method comprising:
determining a plurality of identifiers, each identifier identifying a different device based on a manufacturer name and a model name;
storing, in a digital repository accessible by the monitoring system, in association with each of the plurality of identifiers, (1) a keystring, and (2) an offset position relative to the keystring associated with a desired parameter representing a state of the corresponding device, wherein the keystring and the offset position vary and are modifiable based on at least one of the manufacturer name and the model name of the corresponding device;
accessing, by the monitoring system, the monitored device using HTTP;
receiving, by the monitoring system, information of the state of the monitored device directly from the accessed device in a browser language format, the information of the state of the monitored device including tag-based strings obtained from the monitored device;
accessing the digital repository to obtain the keystring and the offset position corresponding to the desired parameter for the monitored device;
parsing, by the monitoring system, the received tag-based strings to extract the desired parameter using the stored keystring and offset position associated with the desired parameter, wherein the parsing includes searching for the stored keystring within the tag-based strings; and
storing, by the monitoring system, the extracted parameter in the digital repository accessible by the monitoring system.
2. The method as in claim 1, further comprising:
checking each of the devices with a unique IP address; and
storing the IP addresses assigned to each of the devices.
3. The method as in claim 2, further comprising the step of:
storing the manufacturer name and the model name in association with at least one of said IP addresses.
4. The method as in claim 1, wherein the extracted parameter corresponds to a distinct operational status of the accessed device.
5. The method as in claim 1, wherein the step of accessing the device includes periodically polling the monitored device or forwarding an affirmative request to the monitored device.
6. The method of claim 1, wherein the monitored device is one of a printer, a scanner, a multifunction printer, a vending machine, a meter, and an appliance.
7. The method of claim 1, wherein the desired parameter representing the state of the monitored device is one of the model, unique identifier, serial number, toner level, and product name of the monitored device.
8. The method of claim 1, further comprising:
accessing the digital repository to obtain a name of a web page on the monitored device in which the information of the state of the monitored device is stored, wherein the name of the web page is stored in the digital repository in association with at least one of the manufacturer name and the model name of the monitored device.
9. The method of claim 1, wherein the storing step comprises storing at least one of a delimiter and an in-line position when the value of the desired parameter is located in a same line as the keystring.
10. An apparatus for monitoring a monitored device among distinct devices communicatively coupled to a network, comprising:
means for determining a plurality of identifiers, each identifier identifying a different device based on a manufacturer name and a model name;
means for storing, in a digital repository accessible by the apparatus, in association with each of the plurality of identifiers, (1) a keystring, and (2) a offset position relative to the keystring associated with a desired parameter representing a state of the corresponding device wherein the keystring and the offset position vary and are modifiable based on at least one of the manufacturer name and the model name of the corresponding device;
means for accessing the monitored device using HTTP;
means for receiving information of the state of the monitored device directly from the accessed device in a browser language format, the information of the state of the monitored device including tag-based strings obtained from the monitored device;
means for accessing the digital repository to obtain the keystring and the offset position corresponding to the desired parameter for the monitored device;
means for parsing the received tag-based strings to extract the desired parameter using the stored keystring and offset position associated with the desired parameter, wherein the parsing includes searching for the stored keystring within the tag-based strings; and
means for storing the extracted parameter in the digital repository accessible by the apparatus.
11. The apparatus as in claim 10, wherein the extracted parameter corresponds to a distinct operational status of the distinct device.
12. A computer program product encoded on a computer usable medium, comprising:
instructions for determining a plurality of identifiers, each identifier identifying a different device based on a manufacturer name and a model name;
instructions for storing, in a digital repository accessible by a monitoring system, in association with each of the plurality of identifiers, (1) a keystring, and (2) an offset position relative to the keystring associated with a desired parameter representing a state of a corresponding device, wherein the keystring and the offset position vary and are modifiable based on at least one of the manufacturer name and the model name of the corresponding device;
instructions for accessing, by the monitoring system using HTTP, the monitored device;
instructions for receiving, by the monitoring system, information of the state of the monitored device directly from the accessed device in a browser language format, the information of the state of the monitored device including tag-based strings obtained from the monitored device;
instructions for accessing the digital repository to obtain the keystring and the offset position corresponding to the desired parameter for the monitored device;
instructions for parsing, by the monitoring system, the received tag-based strings to extract the desired parameter using the stored keystring and offset position associated with the desired parameter, wherein the parsing includes searching for the stored keystring within the tag-based strings;
instructions for storing, by the monitoring system, the extracted parameter in the digital repository accessible by the monitoring system; and
instructions for displaying the extracted parameter in a user-comprehensible format.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to commonly owned co-pending U.S. Patent Application Ser. No. 60/359,648 filed Feb. 27, 2002 entitled “ARCHITECTURE OF THE REMOTE MONITORING OF DEVICES THROUGH THE LOCAL MONITORING STATION AND SENDING TO THE CENTRAL STATION IN WHICH THE MULTIPLE VENDORS ARE SUPPORTED” which is incorporated herein by reference in its entirety. This application is related to the following commonly owned co-pending applications: U.S. patent application Ser. No. 10/068,861, filed Feb. 11, 2002, entitled “Method and Apparatus Utilizing Communication Means Hierarchy to Configure or Monitor an Interface Device”; U.S. patent application Ser. No. 10/142,989, filed May 13, 2002, entitled “Verification Scheme for Email Message Containing Information About Remotely Monitored Devices”; U.S. patent application Ser. No. 09/756,120, filed Jan. 9, 2001, entitled “Method and System of Remote Support of Device Using Email”; U.S. patent application entitled “Method and Apparatus for Modifying Remote Devices monitored by a Monitoring System”, filed May 31, 2002; U.S. patent application Ser. No. 09/975,935, filed Oct. 15, 2001, entitled “Method and System for Remote Support of Device Using Email Based Upon Pop3 With Decryption Capability Through Virtual Function”; U.S. patent application Ser. No. 09/953,358, filed Sep. 17, 2001, entitled “Method and System of Remote Support of Device Using Email Through Data Transfer Module” the disclosures of which are also incorporated herein by reference in their entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to monitoring devices connected to a network. More particularly, it relates to a method and system for monitoring at least one network connected device and displaying device status in a user-comprehensible format.

2. Discussion of Related Art

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 typed computer system, a plurality of distinct devices are connected to a network and thus communication between these distinct devices is enabled via the network.

Also, software for operating the hardware devices needs to 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 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 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 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 must be equipped 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 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 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.

BRIEF SUMMARY OF THE INVENTION

The system and method of the present invention addresses a solution to the above-identified problems by enabling monitoring of devices that are connected to a network. Data received from the monitored devices is parsed using an HTML/XML parser to extract desirable parameters. The extracted parameters are correlated with information stored in a database, and the data stored in association with the extracted parameters is displayed in a user-comprehensible manner.

In the present invention, a monitoring system enables monitoring at least one device (monitored device) connected to a network, such as for example, a LAN or a WAN. The monitored device is configured to have a unique IP address. The IP address allocated to the monitored device, and the details of the manufacturer for the monitored device are stored in a database.

Once a page location of the monitored device is accessed (i.e., by accessing the IP address), a specific web page corresponding to the monitored device is displayed. Information displayed on the web page is in the form of key and value pairs. An HTML/XML parser is used to parse the displayed page in order to retrieve user requested information from the information displayed on the web page. The user requested information and parameter values extracted from the web page using the HTML/XML parser are stored in the database. The extracted parameter values are then correlated with predetermined information stored in the database for the monitored device. Detailed information obtained from the correlation step is displayed to a user in a format that is user-comprehensible.

In one aspect, the present invention provides a method of monitoring a device among distinct devices communicatively coupled to a network, the method comprising the steps of accessing the device; receiving information from the accessed device; parsing the received information to extract parameter values representing an operational status of the device; storing a key string associated with one of said parameter values and a position used by the parsing step; and retrieving operational status information corresponding to the extracted parameter values from a database, the database storing operational status information for the distinct devices.

The method further includes the steps of checking each of the distinct devices with a unique IP address; and storing the IP addresses assigned to the distinct devices. The name of a manufacturer name and model in association with at least one of said IP addresses are stored. The extracted parameter value preferably corresponds to a distinct operational status for distinct devices. Monitoring of the distinct devices is performed using HTTP protocol. The receiving step includes receiving information from the accessed device in HTML/XML format. The step of accessing a device includes periodically polling the plurality of devices or by forwarding an affirmative request to the device.

In another aspect, the present invention provides an apparatus for monitoring a device among distinct devices communicatively coupled to a network, comprising a processor for accessing the device to receive device data; an HTML/XML parser for parsing the received device data to extract parameter values, said parameter values representing an operational status of the device; a storage device for storing distinct operational status information for distinct devices; and a parameter extractor for extracting operational status information stored in the storage device in association with the extracted parameter values. The apparatus further includes a display device for displaying the operational status information, using the operational status information extracted from the storage device, to a user in a user-comprehensible format.

In another aspect, the present invention provides in a network-based system having a plurality of devices and a monitoring system communicatively coupled to a network, a method of monitoring the plurality of devices comprising accessing a device among the plurality of devices using HTTP protocol; receiving information from the device in an HTML or XML format; parsing the received information to extract parameter values identified as key and value pairs; storing the key and value pairs in a storage device; extracting manufacturer-related information stored in association with the key and value pairs; and displaying the extracted manufacturer-related information in a user-comprehensible format, wherein an extracted parameter value corresponds to a distinct manufacturer-related information for distinct devices.

In a further aspect, the present invention provides a computer program product within a computer usable medium, comprising: instructions for accessing a device among distinct devices; instructions for receiving information from the accessed device; instructions for parsing the received information to extract parameter values representing an operational status of the device; instructions for retrieving operational status information corresponding to the extracted parameter values from a database, the database storing operational status information for said distinct devices; and instructions for displaying the operational status information using the operational status information retrieved from the database to a user in a user-comprehensible format.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of the invention and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference of the following detailed description when considered in connection with the accompanying drawings, wherein:

FIG. 1 is a schematic representation of the overall system in accordance with an exemplary embodiment of the present invention;

FIG. 2 is an exemplary web page interface corresponding to a unique IP address of a monitored device as shown in FIG. 1;

FIG. 3 is an exemplary schematic of the controller shown in FIG. 1;

FIG. 4 illustrates a schematic of software components of the monitoring system as shown in FIG. 1;

FIG. 5 is an exemplary flowchart illustrating the process steps involved in configuring devices that are being monitored within a range of predetermined IP addresses;

FIG. 6 is an exemplary flowchart illustrating the steps involved in obtaining information and various parameters from a web page displayed at a specific IP address;

FIG. 7 is an exemplary flowchart illustrating the steps involved in retrieving and displaying user requested information from a web page;

FIG. 8A illustrates an exemplary display to a user for the device monitoring menu;

FIG. 8B illustrates an exemplary table showing the toner status of monitored devices;

FIG. 9A illustrates an exemplary database table structure; and

FIG. 9B illustrates exemplary data organized in various tables for different devices.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring now to FIG. 1, there is shown a schematic representation of the overall system 100 in accordance with an exemplary embodiment of the present invention. System 100 is shown to include a plurality of devices, for example, a laser printer 108, a scanner 110, a network device 112, and a multi-function printer 114, all connected to a network 101. These plurality of devices are generally referred to herein as “monitored devices”. The system 100 also includes a workstation/monitoring system 102 (hereinafter referred to as “controller 102”), the details of which are illustrated in FIG. 3, connected to the network 101 for monitoring and controlling the monitored devices 108, 110, 112, and 114. Each of the monitored devices 108, 110, 112, and 114 are given a unique address locator. For example, an IP address assigned to a device serves as a unique address locator for the device. Thus, a user at controller 102 is able to access a respective device among the monitored devices 108-114 by accessing the unique IP address assigned to the respective monitored device. It will be appreciated that the present invention is not limited to using IP addresses to uniquely identify devices connected to a network.

The controller 102, upon accessing a device among the monitored devices 108-114, displays a web page assigned to the device. The web page includes detailed information about the operational status of the device including troubleshooting information. For example, controller 102 accesses and displays the web page assigned to the laser printer 108. An exemplary web page interface is shown in FIG. 2. The web page includes the operational status/details of the laser printer 108 including such details as toner level, indication of paper jam, quantity of print paper in printer trays, etc. Likewise, operational history of the laser printer may also be displayed on the web page. Preferably, unique operational details of the laser printer 108 may be displayed in unique fields on its web page. Likewise, operational status/details of each of the monitored devices 108-114 are displayed on their respective web pages.

It will be appreciated that the controller 102 may be either physically connected or wirelessly coupled to the network 101. For example, a personal digital assistant (PDA) 120 or a laptop computer 122, shown to be wirelessly coupled to the network 101, may also be used as a controller 102. An access point 124 acts as an interface to enable wireless communications between the network 101 and PDA 102 or laptop computer 122. Henceforth, the present invention will be described with the assumption that the controller 102 will be controlling and monitoring the status of the monitored devices connected to the network.

The network 101 facilitates communication between the controller 102 and the monitored devices 108-114 to enable monitoring and control of such monitored devices. The number of devices that are connected to the network is not limiting of the present invention. It will be appreciated that the network 101 may be a local area network (LAN) or a wide area network (WAN). Likewise, the monitored devices 108, 110, 112, and 114 are shown to be merely exemplary. Also, the monitored devices may be, for example, vending machines, various meters (for example, gas, electric and water), or appliances (such as a TV, a refrigerator, a stove, a water heater, a heater, air-conditioner, a microwave oven, a dishwasher, a stereo or a DVD).

The controller 102 is communicatively coupled to a storage device 104 and a database 106. The storage device 104 includes a hard disk, optical disk, and/or an external disk drive. The database 106 is communicatively linked to the storage device 104, and includes a Relational Database Management System (RDBMS) for easy search and retrieval of data stored in the storage device 104. The storage device 104 preferably stores detailed information about each of the monitored devices 108-114. For example, detailed information, such as the make, model, and various functions and trouble-shooting details of the laser printer 108 are stored in the storage device 104. Also, deviation values about the operational status of the laser printer compared to predetermined reference values may also be stored in the storage device 104. Although the database 106 and the storage device 104 are described to be communicatively coupled to the controller 102, it will be appreciated that the controller 102 may be built with the storage device and the database installed therein. In such a case, the storage device 106 and the database 104 would be depicted as being internal to the controller 102.

The controller 102 is installed with software, the details of which are illustrated in FIG. 2, in order to facilitate monitoring and control of the plurality of devices 108-114. Hyper Text Transfer Protocol (HTTP) is used by the controller 102 for monitoring the plurality of devices 108-114 and the data received from the plurality of devices 108-114 is presented in the form of HTML or XML formats, or any other web browser languages.

Referring now to FIG. 3, there is shown an exemplary schematic illustrating the details of the controller 102. The controller 102 includes a storage device 104, a database 106, and processor 301, and a display device 303. The processor 301 is loaded with software instructions to perform all the software functions of components identified in FIG. 4. As described with reference to FIG. 1, the controller 102 is shown to include the storage device 104 and the database 106. However, the present invention is not restrictive of this embodiment. The storage device 104 and the database 106 may very well be disposed outside of the controller. Likewise, display device may be integrated with the controller 102 or be provided as a separate device with controller output being supplied as input to the display device.

FIG. 4 illustrates a schematic of software components of the monitoring system as shown in FIG. 1. The software 200 is loaded in the controller 102 to enable the controller 102 to perform monitoring and control of the monitored devices 108-114. The software 200 is shown to include various software components such as a TCP/IP Processor 202, HTTP Processor/Parser 204, HTML/XML Parser 206, a Process Manager 210, a Database/Knowledgebase Processor 212, a Parameter Extractor 214, and a User Interface Manager 216. Each of the software components may be subroutines written using any of the known computer languages such as for example, Java®, Visual Basic, C, C++, Visual C++, PERL, to name a few. It will be appreciated that the present invention is not limiting of the language used for writing the subroutines, and that other languages may be used.

TCP/IP Processor 202 enables communication between network related layers located hierarchically below the application layer. For example, the TCP/IP processor establishes communications with each of the plurality of devices 108-114 by obtaining respective IP addresses from the database 106. HTTP Processor/Parser 204 controls and manages the HTTP related commands until target data from the plurality of devices is acquired. For example, commands, to a respective device among the monitored devices 108-114, are given using HTTP protocol. The commands include the IP address of the respective monitored device, and are preferably launched on server port 80 (i.e., the same port that Web traffic flows on).

For example, HTTP Processor/Parser 204 issues “GET/HTTP/1.1” and related parameters such as “Accept-Language: en-us” and “Connection: Keep-Alive”. If the reply from the target device is “HTTP/1.1 301 Moved Permanently” with “Location:

http://172.30.4.57:80/xx/device/this.LCDispatcher”, then the HTTP Processor/Parser 204 automatically changes the access location and stores the updated information in the database 106 (FIG. 1), and these steps are controlled through Process Manager 210.

Information received from a monitored device, from among the plurality of devices 108-114, is in the form of key and value pairs displayed in an HTML format. The key and value pairs differ from one manufacturer to the other. For example, the number of pages printed by Lexmark devices is in the same line as the key word “Page Count”. However, for HP printers, it is not the case. Thus, it is desirable to extract necessary information from the web page of a specific monitored device and correlate the extracted value to particular parameter of interest to store in the database or to display results, about the operational status of the specific monitored device(s), to a user in a user-comprehensible format.

The HTML/XML parser 206 parses data received from the monitored devices in order to extract the key and value pairs, the functions of the HTML/XML parser being similar to the usual browser except that the information is not displayed in a format that is user comprehensible. An exemplary Java Script that is ignored by the HTML/XML parser 206 is set forth in the Appendix.

One function of the HTML/XML parser 206 is to parse the information received in an HTML format from a device among the plurality of monitored devices 108-114 (FIG. 1) and collects necessary information related to the operational status/functioning of the device. The collected information is forwarded to the process manager 210 which interacts with a knowledge-base processor 212 and a parameter extractor 214 to extract the necessary information from the collected information. The extracted information is stored in the storage device 104 and organized for easy search and retrieval in the database 106 (FIG. 1).

The knowledge-base processor 212 interacts with the physical storage device 104 (FIG. 1) and the database 106 (FIG. 1) in order to correlate the extracted information with information stored in the storage device 104. As explained in detail with respect to FIG. 1, information stored in the storage device 104 includes information specific to the manufacturer of a respective device. The user interface manager 216 interacts with an end user and provides the user requested information regarding one or more of the monitored devices 108-114 (FIG. 1), which information is displayed to the end user in a user-comprehensible format.

FIG. 5 is an exemplary flowchart illustrating the process steps involved in configuring/setting up monitored devices 108-114 (FIG. 1) with unique IP addresses within a range of predetermined IP addresses. Step 302 involves setting up a monitored device by checking the monitored device at a unique IP address from a known range or list of IP addresses. In step 304, the device accessed at the IP address is port 80 (known HTTP port). Step 306 stores devices for monitoring in a storage device if the device responds to the requests from the system and the system recognizes the device to be the system supported device. Once a monitored device, for example, the laser printer 108, is recognized at IP address, further information about the laser printer 108, as obtained from the manufacturer, is stored in the storage device 104 and correlated to the IP address assigned to the laser printer 108 as shown at steps 310 and 312. If a response to port 80 is not obtained or if the monitoring system fails to recognize the device, the process continues to step 320. The steps 304 through 320 is repeated until the range is covered or the list is exhausted and the process returns at step 330.

FIG. 6 is an exemplary flowchart illustrating the steps involved in obtaining information and various parameters from a web page obtained from a specific IP address. After starting, IP address of a monitored device is obtained from the database in order to establish communication with such device. Once the monitored device is accessed and its web page retrieved, step 410 uses an HTML/XML parser to parse the information received in an HTML format from the monitored device. Step 415 identifies local pages and collects parameter values that can be extracted from the displayed web page of the monitored device. Step 420 stores the location of web page and the extracted parameters of the monitored device along with the details of extracting the values associated with parameters of interest into the database for easy search and retrieval.

Step 425 determines if all the pages from a particular IP address are covered and the necessary information extracted. If there are any pages remaining, from which necessary information needs to be extracted, then the process of extracting information is repeated as indicated at step 430. If all the pages from a particular IP address are covered, then the process moves to step 435. The above process steps are repeated until all the IP addresses are covered and the necessary information about monitored devices is extracted from each of the IP addresses. The process ends if all the IP addresses are covered.

FIG. 7 is an exemplary flowchart illustrating the steps involved in retrieving and displaying user requested information from a web page. Step 505 receives a request from a user regarding status/functional details of a monitored device. Once the request is received, step 510 accesses the database to retrieve the IP address/page address of the monitored device. The monitored device and its web page are accessed in step 515. Once the monitored device is accessed and its web page displayed as indicated at step 515, the HTML/XML parser parses the web page in order to obtain and display the information requested by the user as indicated at steps 520, 525, and 530.

The above process is repeated as shown at step 535 if there are further web pages that remain to be accessed in order to retrieve information requested by the user. At the step 537, a determination is made to identify if all the devices to be monitored are covered. If all the devices that need to be monitored are not covered, the process is repeated via loop 538 for a new device by reverting to step 510. However, if no further devices remain to be accessed, a determination is made to identify if there are other user requests, at step 540. In the event that there are further pending user requests, the process is repeated as indicated by loop 545.

FIG. 8A illustrates an exemplary user interface to enable a user to monitor the status of a device. Field 802 denotes a home page, Field 804 denotes configuration information page, and field 806 denotes the status check page which is displayed in detail at 808. Although other display interfaces may be used, this display style, for example, assumes the interface to the user through a web browser.

FIG. 8B illustrates a response of the monitoring system when the user chooses “2” (Toner Level) from the Menu illustrated in FIG. 8A. Because there are two types of printers—black and white, or color—the toner status requires four types of toners as illustrated in FIG. 8B.

FIG. 9A shows four tables in the database along with respective database fields. IPAddress table 902 stores information about a monitored device's IP address, vendor, model and ID for the vendor model combination. KeyValue table 904 includes such information as, for example, the web page ID, key string information used to extract the parameter value of interest, value position in the HTML structure, value type, delimiters if the value is located in the same data as the key string, in-line-position of the value when the value is located in the same data as the key string, and the standard enumerator for the key string. VendorModelWebPage table 906 associates the web page ID to actual web page string. KeyEnumTable 908 includes the standard enumerations and their description.

FIG. 9B shows exemplary data stored within the four tables illustrated in FIG. 9A. In this example, the first four digits of the web ID is taken from the first four digits of the vendor model ID. In the KeyValue table 904, Model (101) identified at 910 and 912 has two different key strings, “Machine Model” and “Product Name”. In addition, they are located at the different value positions. Machine Model is obtained from the next tag values in the HTML while Product Name is obtained from the same line. Product Name is separated from the actual model name with a delimiter‘:’.

The present invention enables monitoring of the various devices in a multi-vendor environment and further facilitates retrieving and displaying detailed information in a user-comprehensible manner even without having specific private management information base (MIB) information. In addition, the stored monitored information can be sent out through FTP or e-mail as described in co-pending applications that are incorporated herein by reference.

Although the present invention is shown to include a few devices, that require monitoring, connected to network, it will be appreciated that more than a few devices may be connected to the network without deviating from the spirit and scope of the invention. Also, the present invention may also be applied in a home environment where various devices need to be monitored and controlled.

The present invention enables the monitoring of the various devices in a multi-vendor environment and further facilitates retrieving and displaying detailed information in a user-comprehensible manner even without having specific private management information base (MIB) information.

The controller of the present invention may be conveniently implemented using a conventional general purpose digital computer or a microprocessor programmed according to the teachings of the present specification, as will be apparent to those skilled in the computer art. Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art. The invention may also be implemented by the preparation of application specific integrated circuits or by interconnecting an appropriate network of conventional component circuits, as will be readily apparent to those skilled in the art.

The present invention includes a computer program product which is a storage medium including instructions which can be used to program a computer to perform a process of the invention. The storage medium can include, but is not limited to, any type of disk including floppy disks, optical discs, CD-ROMs, and magneto-optical disks, ROMS, RAMs, EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions.

Obviously, numerous modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.

Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US5475805 *Apr 3, 1995Dec 12, 1995Fuji Xerox Co., Inc.Layout and display of structured document having embedded elements
US5537554 *Apr 24, 1995Jul 16, 1996Ricoh Company, Ltd.Method and apparatus for controlling and communicating with business office devices
US5544289 *Jun 6, 1995Aug 6, 1996Ricoh Company, Ltd.Method and apparatus for controlling and communicating with business office devices
US5568618 *Nov 22, 1995Oct 22, 1996Ricoh Company, Ltd.Method and apparatus for controlling and communicating with business office devices
US5649120 *Aug 15, 1996Jul 15, 1997Ricoh Company, Ltd.Method and apparatus for controlling and communicating with business office devices
US5745909Jul 9, 1996Apr 28, 1998Webtv Networks, Inc.Method and apparatus for reducing flicker when displaying HTML images on a television monitor
US5774678 *May 7, 1997Jun 30, 1998Ricoh Company, Ltd.Method and apparatus for controlling and communicating with business office devices
US5960214 *Dec 4, 1996Sep 28, 1999Fisher-Rosemount Systems, Inc.Integrated communication network for use in a field device management system
US5987513 *May 6, 1997Nov 16, 1999Wipro LimitedNetwork management using browser-based technology
US6003097 *Apr 9, 1997Dec 14, 1999Microsoft CorporationSystem for automatically configuring a network adapter without manual intervention by using a registry data structure maintained within a computer system memory
US6061715 *Apr 30, 1998May 9, 2000Xerox CorporationApparatus and method for loading and reloading HTML pages having cacheable and non-cacheable portions
US6108782 *Jun 24, 1997Aug 22, 20003Com CorporationDistributed remote monitoring (dRMON) for networks
US6122639 *Dec 23, 1997Sep 19, 2000Cisco Technology, Inc.Network device information collection and change detection
US6173296Apr 23, 1998Jan 9, 2001Webtv Networks, Inc.Method and apparatus for reducing flicker when displaying HTML images on a television monitor
US6233618 *Mar 31, 1998May 15, 2001Content Advisor, Inc.Access control of networked data
US6244762 *Nov 25, 1998Jun 12, 2001Seiko Epson CorporationPrinting apparatus, method of controlling it and storage medium
US6286035 *Feb 1, 1999Sep 4, 2001Lucent Technologies Inc.Validating and parsing engine for system configuration and support command messages
US6317848Sep 24, 1998Nov 13, 2001Xerox CorporationSystem for tracking and automatically communicating printer failures and usage profile aspects
US6321991Feb 22, 1999Nov 27, 2001Metrologic Instruments, Inc.Web-based television system and method for enabling a viewer to access and display HTML-encoded documents located on the World Wide Web (WWW) by reading bar code symbols printed in a WWW-site guide using a wireless bar-code driven remote control device
US6343320 *Jun 9, 1998Jan 29, 2002Compaq Information Technologies Group, L.P.Automatic state consolidation for network participating devices
US6345764Jan 7, 1999Feb 12, 2002Metrologic Instruments, Inc.Hand-held WWW access device with GUI-based www browser program integrated with bar code symbol reader for automatically accessing and displaying HTML-encoded documents by reading bar code symbols
US6467081 *Nov 5, 2001Oct 15, 2002Microsoft CorporationAutomated help system for reference information
US6477589 *Mar 15, 1999Nov 5, 2002Canon Kabushiki KaishaInformation processing apparatus and method
US6611863 *Jun 5, 2000Aug 26, 2003Intel CorporationAutomatic device assignment through programmable device discovery for policy based network management
US6708072 *Feb 25, 2002Mar 16, 2004Hitachi, Ltd.Remote maintenance method, industrial device, and semiconductor device
US6708166 *May 11, 2000Mar 16, 2004Norbert Technologies, LlcMethod and apparatus for storing data as objects, constructing customized data retrieval and data processing requests, and performing householding queries
US6728787 *Mar 31, 2000Apr 27, 2004Mitsubishi Electric Research Labs, IncSystem and method for locating and installing device drivers for peripheral devices
US6782426 *Apr 10, 2000Aug 24, 2004Canon Kabushiki KaishaShared device control method and server-client system
US6801507 *Jun 12, 2000Oct 5, 2004Samsung Electronics Co., Ltd.Device discovery and configuration in a home network
US6813248 *Oct 3, 2000Nov 2, 2004Microsoft CorporationDistributed internet user experience monitoring system
US6829630 *Nov 24, 2000Dec 7, 2004Xerox CorporationMechanisms for web-object event/state-driven communication between networked devices
US6862698 *Jan 22, 2002Mar 1, 2005Cisco Technology, Inc.Method of labeling alarms to facilitate correlating alarms in a telecommunications network
US6907609 *Feb 1, 1999Jun 14, 2005Iona Technologies Plc.Object request dispatch using matching of a segmented object key
US6920492 *Jun 18, 2001Jul 19, 2005Hewlett-Packard Development Company, L.P.Process for controlling devices of an intranet network through the web
US6938239 *Apr 18, 2002Aug 30, 2005Wind River Systems, Inc.Automatic gopher program generator
US6970923 *Apr 3, 2000Nov 29, 2005Seiko Epson CorporationDevice management network system management server and computer readable medium
US6988123 *Jun 10, 1999Jan 17, 2006Seiko Epson CorporationMethods and apparatus for remote execution of an application over the internet
US7053767May 6, 2002May 30, 2006Statsignal Systems, Inc.System and method for monitoring and controlling remote devices
US7117239 *Nov 8, 2000Oct 3, 2006Axeda CorporationReporting the state of an apparatus to a remote computer
US20020062373 *Sep 19, 2001May 23, 2002Skingle Bruce JamesSystem and method for portal infrastructure tracking
US20020078191 *Dec 20, 2000Jun 20, 2002Todd LorenzUser tracking in a Web session spanning multiple Web resources without need to modify user-side hardware or software or to store cookies at user-side hardware
US20020078205 *Nov 14, 2001Jun 20, 2002Lloyd NolanResource control facility
US20030028577 *Apr 30, 2001Feb 6, 2003Chia-Chu DorlandHTTP distributed XML-based automated event polling for network and E-service management
US20030217124 *May 14, 2002Nov 20, 2003Parry Travis J.Firmware/software upgrade alert method and apparatus
JP2002023827A Title not available
JP2002042273A Title not available
JPH10149270A Title not available
JPH11167540A Title not available
WO2002010919A2Jul 27, 2001Feb 7, 2002Emation IncReporting the state of an apparatus to a remote computer
Non-Patent Citations
Reference
1 *Eric Ladd, Jim O'Donnell, et al., "Platinum Edition Using HTML 3.2, Java 1.1 and CGI", Nov. 1996, Que, p. 484.
2 *Eric Ladd, Jim O'Donnell, et al., "Platinum Edition Using HTML 4, XML, and Java 1.2", Dec. 1998, Que, pp. 692-696.
3G. A. Halse, et al., South African Telecommunications Network and Application Conference, pp. 1-6, XP-002247410, "XML to Facilitate Management of Multi-Vendor Networks", Sep. 2, 2001.
4U.S. Appl. No. 09/756,120, filed Jan. 9, 2001, pending.
5U.S. Appl. No. 09/953,358, filed Sep. 17, 2001, pending.
6U.S. Appl. No. 09/975,935, filed Oct. 15, 2001, pending.
7U.S. Appl. No. 10/068,861, filed Feb. 11, 2002, pending.
8U.S. Appl. No. 10/142,989, filed May 13, 2002, pending.
9U.S. Appl. No. 10/157,902, filed May 31, 2002, pending.
10U.S. Appl. No. 10/157,903, filed May 31, 2002, pending.
11U.S. Appl. No. 10/157,904, filed May 31, 2002, pending.
12U.S. Appl. No. 10/157,905, filed May 31, 2002, pending.
13U.S. Appl. No. 10/162,402, filed Jun. 5, 2002, Motoyama.
14U.S. Appl. No. 10/162,402, filed Jun. 5, 2002, pending.
15U.S. Appl. No. 10/162,402, Jun. 5, 2002, Motoyama.
16U.S. Appl. No. 10/167,402, filed Jun. 5, 2002, Motoyama.
17U.S. Appl. No. 10/225,290, filed Aug. 22, 2002, pending.
18U.S. Appl. No. 10/328,003, filed Dec. 26, 2002, Motoyama et al.
19U.S. Appl. No. 10/328,008, filed Dec. 26, 2002, Motoyama et al.
20U.S. Appl. No. 10/328,026, filed Dec. 26, 2002, Motoyama et al.
21U.S. Appl. No. 10/372,939, filed Feb. 26, 2003, Motoyama.
22U.S. Appl. No. 10/460,150, filed Jun. 13, 2003, Motoyama et al.
23U.S. Appl. No. 10/460,151, filed Jun. 13, 2003, Motoyama et al.
24U.S. Appl. No. 10/460,404, filed Jun. 13, 2003, Motoyama et al.
25U.S. Appl. No. 10/460,408, filed Jun. 13, 2003, Motoyama et al.
26U.S. Appl. No. 10/670,505, filed Sep. 26, 2003, Motoyama.
27U.S. Appl. No. 10/670,604, filed Sep. 26, 2003, Motoyama.
28U.S. Appl. No. 10/764,467, filed Jan. 27, 2004, Motoyama et al.
29U.S. Appl. No. 10/764,527, filed Jan. 27, 2004, Motoyama et al.
30U.S. Appl. No. 10/764,569, filed Jan. 27, 2004, Motoyama et al.
31U.S. Appl. No. 10/764,582, filed Jan. 27, 2004, Motoyama et al.
32U.S. Appl. No. 10/960,248, filed Dec. 19, 2007, Motoyama et al.
33U.S. Appl. No. 11/032,016, filed Jan. 11, 2005, Motoyama et al.
34U.S. Appl. No. 11/032,039, filed Jan. 11, 2005, Motoyama et al.
35U.S. Appl. No. 11/032,063, filed Jan. 11, 2005, Motoyama et al.
36U.S. Appl. No. 11/032,088, filed Jan. 11, 2005, Motoyama et al.
37U.S. Appl. No. 11/032,192, filed Jan. 11, 2005, Motoyama et al.
38U.S. Appl. No. 11/153,543 filed Jun. 16, 2005, Motoyama et al.
39U.S. Appl. No. 11/234,224, filed Sep. 26, 2005, Motoyama et al.
40U.S. Appl. No. 11/234,319, filed Sep. 26, 2005, Motoyama et al.
41U.S. Appl. No. 11/234,322, filed Sep. 26, 2005, Motoyama et al.
42U.S. Appl. No. 11/234,323, filed Sep. 26, 2005, Motoyama et al.
43U.S. Appl. No. 11/517,362, filed Sep. 8, 2006, Motoyama et al.
44U.S. Appl. No. 11/517,363, filed Sep. 8, 2006, Motoyama et al.
45U.S. Appl. No. 11/517,378, filed Sep. 8, 2006, Motoyama et al.
46U.S. Appl. No. 11/517,428, filed Sep. 8, 2006, Motoyama et al.
47U.S. Appl. No. 11/517,430, filed Sep. 8, 2006, Motoyama et al.
48U.S. Appl. No. 11/867,741, Oct. 5, 2007, Motoyama et al.
49U.S. Appl. No. 11/940,785, filed Nov. 15, 2007, Motoyama et al.
50U.S. Appl. No. 60/359,648, filed Feb. 27, 2002, pending.
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US8024054Dec 22, 2005Sep 20, 2011Trane International, Inc.Building automation system facilitating user customization
US8050801Aug 22, 2005Nov 1, 2011Trane International Inc.Dynamically extensible and automatically configurable building automation system and architecture
US8055386Dec 22, 2005Nov 8, 2011Trane International Inc.Building automation system data management
US8055387Dec 22, 2005Nov 8, 2011Trane International Inc.Building automation system data management
US8099178Dec 22, 2005Jan 17, 2012Trane International Inc.Building automation system facilitating user customization
US8180824Feb 23, 2009May 15, 2012Trane International, Inc.Log collection data harvester for use in a building automation system
US8219660Feb 26, 2010Jul 10, 2012Trane International Inc.Simultaneous connectivity and management across multiple building automation system networks
US8260842Apr 27, 2012Sep 4, 2012Wirespring Technologies, Inc.Device-agnostic content management, playback and status monitoring system
US8271638 *Jun 24, 2009Sep 18, 2012Hitachi, Ltd.Node management apparatus and method
US8290627Dec 22, 2005Oct 16, 2012Trane International Inc.Dynamically extensible and automatically configurable building automation system and architecture
US8316438Apr 4, 2007Nov 20, 2012Pure Networks LlcNetwork management providing network health information and lockdown security
US8463890Feb 17, 2011Jun 11, 2013Pure Networks LlcNetwork management
US8478849Sep 15, 2006Jul 2, 2013Pure Networks LLC.Network administration tool
US8484332Feb 18, 2011Jul 9, 2013Pure Networks LlcNetwork management
US8553564 *Jun 28, 2010Oct 8, 2013Hitachi, Ltd.Management system and computer system management method
US8635338Apr 25, 2012Jan 21, 2014Trane International, Inc.Log collection data harvester for use in a building automation system
US8649297Mar 26, 2010Feb 11, 2014Cisco Technology, Inc.System and method for simplifying secure network setup
US8671184Feb 18, 2011Mar 11, 2014Pure Networks LlcNetwork management
US8700743Oct 4, 2007Apr 15, 2014Pure Networks LlcNetwork configuration device
US8724515Sep 16, 2011May 13, 2014Cisco Technology, Inc.Configuring a secure network
US20110082923 *Oct 1, 2010Apr 7, 2011Canon Kabushiki KaishaCommunication apparatus having a plurality of network interfaces, method for controlling the communication apparatus, and storage medium
US20110213866 *Jun 24, 2009Sep 1, 2011Hitachi, Ltd.Node management apparatus and method
US20110320599 *Jun 28, 2010Dec 29, 2011Hitachi, Ltd.Management system and computer system management method
US20120143970 *Oct 3, 2011Jun 7, 2012Axeda Corporation, A Massachusetts CorporationReporting the state of an apparatus to a remote computer
US20120239800 *Mar 17, 2011Sep 20, 2012Microsoft CorporationDevice Identification using Device Functions
US20130080604 *Sep 22, 2011Mar 28, 2013Hitachi, Ltd.System management apparatus and system management method
Classifications
U.S. Classification709/224, 709/217
International ClassificationG06F13/00, H04L12/26, G06F15/173, H04L12/24
Cooperative ClassificationH04L41/0266, H04L41/024, H04L43/0817, H04L41/22, H04L43/10, H04L41/022
European ClassificationH04L41/02C, H04L41/02G3, H04L41/22, H04L43/08D, H04L41/02F
Legal Events
DateCodeEventDescription
Sep 11, 2012FPAYFee payment
Year of fee payment: 4
Jun 5, 2002ASAssignment
Owner name: RICOH COMPANY, LTD., JAPAN
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOTOYAMA, TETSURO;REEL/FRAME:012964/0831
Effective date: 20020605