System and Method of administering work group printers

Abstract: In a networked system having workstation (150), file servers (120) and intelligent peripheral devices (110), the intelligent peripheral devices are capable of determining information concerning their device status and communicating (205) the device status information via a communications line (160). The file server (120) obtains the device status information from the peripheral device (110) and stores this information as a file readable by the workstations (150).

Description: The present invention relates generally to a system for providing peripheral device status information to workstations on a network. In a typical networked multi-user computer environment, a number of individual workstations are linked together through a network, usually a local area network (LAN). Also linked on the LAN are one or more peripheral devices such as printers, facsimile machines, scanners or plotters. One or more file servers are also linked to the network and serve to manage allocation of the devices to workstations which request the use of the devices. The allocation procedures typically involve accepting requests, determining the address of the device requested, maintaining queues, establishing priorities and relaying data from the workstation to the device. Typically when a workstation user wishes to determine the status of a device that is networked on a LAN, the method available depends upon the intelligence of the device. The earlier generation of peripherals were "unintelligent," or perhaps, better "uncommunicative." They accepted data from the LAN and processed it according to instructions, but were incapable of relaying status information back to the LAN. A workstation user, concerned about the status of a device to which he or she had sent a job, would have to leave the workstation to physically examine the device. A server, such as a file server or a print server, might be able to provide some information regarding the status of a print job. However, this status information related to the status of the print job in a print queue, and the print queue was neither created, maintained nor serviced by the printer. If a print job was removed from the print queue, one could infer that the printer was handling the print job. However, the status of the print job as it was handled by the printer could not be ascertained. For example, absence of a print job from the print queue could mean that the print job was complete, or it could also mean that the printer had received the print job into its buffer and was still processing the print job. More recently, peripheral devices such as printers have become available which are able to determine and relay information concerning their status through a communications port, such as a network interface card (NIC) or a printer (LPT) port. Thus, information concerning the printer's such as its device information (the manufacturer, command set and model of printer), the identity of the job it was currently processing, the status of its paper bins, ink supply, etc. which might be displayed on the printer's display panel, might be also relayed to a computer linked to the peripheral devices through a communications link. An example of this is the Lexmark Optra printer which provides identification data as well as other information as to status. However, querying the device and performing status checks slows the performance of the printer. When numerous workstations are able to access an intelligent peripheral device through a network, the cumulative effect of their querying the peripheral device status repetitively is to significantly compromise the performance of the peripheral device. Such queries are also time consuming and make for inefficient use of network resources. Furthermore, before the workstations can even access the peripheral devices, they typically perform a "discovery" operation. In performing discovery, a workstation searches the network for available peripheral devices. This discovery process can be quite burdensome to the network and can take a considerable amount of time. This burden is multiplied by the number of workstations on the network which perform discovery. US 5,220,674 discloses a computer network system, comprising a network, a plurality of workstations, which are connected to the network, and two printers, which are connected via a local area print server to the network, wherein the local area print server serves for all connections of the workstations to the printers and the processing of a current device status information of the printers as well as the processing of status requests from the workstations. It is therefore an object of the invention to provide a system where workstations on a network can rapidly obtain information concerning the status of networked peripheral devices. It is another object of the invention to provide a system where workstations on a network can rapidly obtain information concerning the status of networked peripheral devices without interfering with performance of those peripheral devices. It is still another object of the invention to provide a system wherein demand update of information concerning the status of networked peripheral devices is minimized so as to maintain device efficiency. These objects are achieved by a computer network system according to claim 1. Further developments of the invention are given in the dependent claims. Still further objects and advantages attaching to the device and to its use and operation will be apparent to those skilled in the art from the following particular description. These and other advantages, of the present invention are best understood with reference to the drawings, in which, in varying detail: FIG. 1 is a block diagram of a computer network in accordance with the invention. FIG. 2 is a data flow diagram of a computer network system in accordance with the invention. FIGS. 3A, 3B and 3C are flow charts of three processes in accordance with the invention. FIG. 4 is a block diagram of a control unit in accordance with the invention. FIG. 5 is a block diagram of a general purpose computer. These and additional embodiments of the invention may now be better understood by turning to the following detailed description wherein an illustrated embodiment is described. Throughout this description, the preferred embodiment and examples shown should be considered as exemplars, rather than limitations on the apparatus and methods of the present invention. FIG. 1 shows a local area network (LAN) 100. To network communication lines 160 are coupled a number of workstations 150a, 150b, 150c, 150d. A number of file servers 120a, 120b also are coupled to the network communication lines 160. The network communications lines 160 may be wire, fiber, or wireless channels as known in the art. Each workstation 150 is preferably logged on to a specific file server 120 as known in the art, and a workstation 150 may be logged on to multiple file servers 120. The network 100 may also include hubs, routers and other devices (not shown). FIG. 5 shows a general purpose computer 500 which is representative of the workstations 150 and file servers 120. The computer 500 preferably includes an Intel Corporation (San Jose, California) processor 555 and runs a Microsoft Corporation (Redmond, Washington) Windows operating system. In conjunction with the processor 555, the computer 500 has a short term memory 550 (preferably RAM) and a long term memory 580 (preferably a hard disk) as known in the art. The computer 500 further includes a LAN interface 515, a monitor 505, a display adapter 520 and a bus 510 as known in the art. Before proceeding to describe the LAN 100, a few terms are defined. By "file server," it is meant a computer which controls access to file and disk resources on a network, and provides security and synchronization on the network through a network operating system. By "server," it is meant hardware or software which provides network services. By "workstation," it is meant a client computer which routes commands either to its local operating system or to a network interface adapter for processing and transmission on the network. A workstation may function as a server by including appropriate software, and may be for example, a print server, archive server or communication server. By "software" it is meant one or more computer interpretable programs and modules related and preferably integrated for performing a desired function. A "multifunction peripheral" is a peripheral which provides the functions of more than one peripheral, and typically provides printing and at least one of: copying, scanning and faxing. By "intelligent peripheral device," it is meant a special purpose I/O processing device which is capable of relaying information concerning its current status via a communications line. Status information provided by an intelligent peripheral device preferably includes the intelligent peripheral device's unique network address, which job is currently being handled, how much of the job is completed, paper supply status, and ink or toner supply levels. The LAN 100 includes a number of intelligent peripheral devices 110a, 110b, 110c, 110d, 110e and unintelligent peripheral devices 170, 180, 190. The intelligent peripherals shows include multifunction peripherals MFPs 110a, 110c, 110d and printers 110b, 110e, all preferably coupled directly to the network communication lines 160. The unintelligent peripherals shown include printer 180, network fax machine 190 and scanner 170. The printer 180 and network fax machine 190 are coupled to the network communication lines 160. The scanner is coupled to workstation 150c. The unintelligent peripheral devices 170, 180, 190 cannot provide device status. They are limited, for example, to providing a buffer ready or buffer full signal, but cannot provide the type and quality of status information as an intelligent peripheral device. MFPs 110a, 110d comprise a control unit 140 and a hard output unit 115. The control units 140a, 140d are coupled to the network communication lines 160. Preferably, the control units 140 are general purpose computers, having neither monitor, keyboard nor mouse, and running the Microsoft Windows NT operating system. The control unit 140, shown generally in FIG. 4 as 440, functions as a server to provide appropriate peripheral services to the workstations 150 and the file servers 120 on the network 100. The control unit 140 preferably includes a processor 418, memory 414, a communications link 428, such as a SCSI link to the hard output device 115, and a network link 424 such as a network interface card to the network communications lines 160. In combination with Windows NT, the control units 140 include software for initialization, configuration, network interfacing, hard output unit interfacing and device status. Hard output devices 115 preferably comprise high speed copiers incorporating a communications adapter, such as a SCSI adapter, for communications with the control unit 140. Preferably, copying is performed by the hard output device 115 independently of the control unit 140. Preferably, for printing, the control unit 140 rasterizes the print job and the hard output unit 115 prints in a manner similar to a copy job. Preferably the hard output device 115 can also be used as a high quality scanner, with scan data being communicated to the control unit 140 for communication to the requesting network device (e.g., a workstation 150). Preferably the MFPs 110a, 110d also provide fax send and receive services, for example by incorporating a fax/modem in the control unit 140 and using the hard output unit 115 for printing incoming fax jobs and scanning outgoing fax jobs, as desired. The LAN 100 shown is logically partitioned into two workgroups 130a, 130b, with the dashed line showing a logical partition of the workgroups. File server 120a provides network services to workgroup 130a and file server 120b provides network services to workgroup 130b. Members of a given workgroup 130 log onto the same file server 120 in order to facilitate file sharing and normally use only a subset of all the peripheral devices 110 available on the network. For example, workgroup 130a has access to peripheral devices 110a, 110b and 180. Workgroup 130b has access to peripheral devices 110d, 110e, 190 and 110c. In accordance with the invention, three types of files are maintained on each file server 120. The first, called the "jobs file," stores a list of jobs being handled by one of the intelligent peripheral devices 110. Preferably, there is a jobs file for each intelligent peripheral device 110. The second, called the "device status file," stores device status information about the intelligent peripheral devices 110. Preferably, there is a device status file for each intelligent peripheral device 110. The third, called the "device list file," stores a list of the intelligent peripheral devices 110 and the location of the jobs file and the device status files for each of the devices. The following description is made with respect to these three files, however, it is within the scope of the invention to provide a single file storing the information in the device list file, the device status file and the jobs file. This single file would include information regarding all intelligent peripheral devices in a workgroup or even an entire LAN. Furthermore, more than three types of files could be used. The important factor is that the device status information from the intelligent peripheral devices is stored in a central location from which all workstations obtain it. Another important factor is that discovery need be performed only once for all intelligent peripheral devices and all workstations. The workstations 150, rather than querying the intelligent peripheral devices 110 for their status information, instead query the appropriate device status file stored on the relevant file server 120. The device status files are preferably updated with sufficient frequency to provide the workstations 150 with a reliable snapshot of the status of the intelligent peripheral devices 110. Preferably, each file server 120a, 120b maintains its own device status file and a set of jobs files and device status files. Preferably, for a given file server 120, its device list file lists all intelligent peripheral devices 110 on the LAN 100, but the file server 120 only stores jobs files and device status files for the intelligent peripheral devices 110 associated with that file server 120. Three processes are primarily involved in the method of the invention. First, there is a setup process. Second, there is a discovery process which may be run with the setup process or later. Third, there is a status update process. FIG. 2 schematically shows the data flows in these three processes. FIGS. 3A, 3B and 3C are flow charts for these three processes. Referring now to FIG. 3A, there is shown a flow chart for the setup process. In step 300, the process begins. Preferably, the setup process is embodied as software stored on one or both of the file servers 120 but which is run from one of the workstations 150. The setup software preferably includes security means and is run by a network administrator from a console workstation. Next, the network administrator logs on to a workstation (step 302). The network administrator then selects a location on the file server 120 for storing the device list file (step 303). Next (step 305), the software in the administrator's workstation 150 performs discovery. This is shown as data flow 206 in FIG. 2. The discovery process is described more particularly below with respect to FIG. 3B. After discovery, in step 310, the network administrator provides the location of the device list file to the workstations 150. This is shown as data flow 201 in FIG. 2. This concludes the setup process. It should be appreciated that steps 305 and 310 could be reversed. Also, the extent of discovery may depend upon the network administrator's security rights, and the nature of the network. Other storage schemes are possible and within the scope of the invention. It is not important whether the setup software is run once for each workgroup 130a, 130b, or a single time for more than one workgroup. Furthermore, the device list files, device status file, and jobs files, although preferably stored in the file servers 120, could also be stored elsewhere in the network, such as in a workstation 150. Further still, there are many ways for the workstations 150 to obtain the location of the device status files. The inventors prefer that this information be provided automatically to each workstation 150 during the setup process as described. However, other methods are within the scope of the invention. Referring now to FIG. 3B, there is shown a flow chart for the discovery process. In step 320, the process begins. Preferably, the discovery process is embodied as software stored on one or both of the file servers 120 but which is run from one of the workstations 150 by the network administrator. The discovery software preferably includes security means and is run by a network administrator from a console workstation. Next, the network administrator logs on to a workstation (step 325). This step is unnecessary if discovery is being performed as part of the setup process, since the setup process includes a log on step (step 302). In step 330, the network administrator requests discovery of intelligent peripheral devices. Since this process is a relatively burdensome, the software preferably displays an appropriate warning. The administrator's workstation then searches the network for intelligent peripheral devices (step 335). Alternatively, the discovery request could be relayed to the file server 120 which performs the searching step. After the intelligent peripheral devices 110 report to the administrator workstation (step 337), the information so obtained is relayed to the file server 120 and the device list file, status files and jobs files are created (step 340). This is shown as data flow 204 in FIG. 2. Logically, the device list file, device status files and jobs files are created by the network administrator's workstation. The particular method of creating these files is not critical to the invention and there is no preference. It is also at this point that the intelligent peripheral devices 110 are notified of the location of their respective device status files and jobs files (step 342). This is shown as data flow 207 in FIG. 2. After the device list file, device status files and jobs files have been created, the software in the network administrator's workstation 150 preferably issues a command to the discovered intelligent peripheral devices 110 to start the process for updating the device status file (step 345). This process is shown more particularly in FIG. 3C. This ends the discovery process (step 350). Preferably, the device list file, device status files and jobs files are created so that their contents are available to users at workstations 150. A process preferably embodied as software and resident in each workstation 150 is preferably provided for reading the device status file (data flow 202 in FIG. 2). After the file server 120 provides the device status information to the workstations 150 (data flow 203), the workstation 150 can display the device status information. Preferably, device status information is displayed in a tree control showing the peripheral devices 110 in the workgroup 130 as well as some status information for each such device. Referring now to FIG. 3C, there is shown a flow chart of the process for refreshing device status files. As explained above, this process, preferably embodied as software in each intelligent peripheral device 110, is started after the intelligent peripheral device 110 has been discovered (step 355). Necessarily, the intelligent peripheral device 110 determines its current status (step 360). Next, in step 365, the intelligent peripheral device 365 updates the device status file on the file server 120 with its current device status information. This is also shown as data flow 205 in FIG. 2. Alternatively, and logically the same, the intelligent peripheral devices 110 could simply provide a data feed to the file server 120 which then updates the appropriate device status files. With the device status file updated, the process is complete (step 370). A simple example of information that might be available concerning the intelligent peripheral devices 110 is shown in Table 1. This might be the name of the intelligent peripheral device 110, the unique network address of the intelligent peripheral device 110, and its status of being either up or down. If the status is down, the time in minutes that the intelligent peripheral device 110 has been unserviceable is available. Also, if the status is down, then information as to whether or not a network administrator has become notified of this situation is available. Additionally, the date/time stamp is maintained, showing when the intelligent peripheral device 110 was last checked. This information may be supplemented by all or part of whatever other information the intelligent peripheral device 110 is capable of determining and providing to the device status file. Table 2 show a simple example of the process of refreshing the device status file on server 120a. Each row of Table 2 corresponds to the state of the device status file at the point in time when the contents are refreshed by the intelligent peripheral devices 110a, 110b. Device/Time 110a 110b T 0 Up, 0, No Up, 0, No T 1 Up, 0, No Down, 10, No T 2 Down, 0, No Down, 10, Yes T 3 Up, 0, No Down, 15, No At the first point in time T 0 , both of the intelligent peripheral devices 110a, 110b are functioning. At the second point in time T 1 , intelligent peripheral device 110b is down. In the device status file, intelligent peripheral device 110b sets the status flag for that device to "Down," Time to 0, and Notified to "No." At the third point in time T 2 , intelligent peripheral device 110a is now down. In the device status file, it sets the relevant status flag to "Down," Time to 0, and Notified to "No." Intelligent peripheral device 110b is still down and it notes that ten minutes have elapsed. However, the network administrator, running software for reviewing intelligent peripheral device status, has been notified of the down state of intelligent peripheral device 110b. This software changes the Notified attribute to "Yes." Finally, at the fourth point in time T 3 , intelligent peripheral device 110a is now running, and it resets its Status to "Up." Intelligent peripheral device 110b is still down and notes that fifteen minutes have elapsed. The file server 120a may also include software for assisting in the maintenance of the device status file. For example, the file server 120a may have software providing a watch dog timer, wherein if one of the intelligent peripheral devices 110a, 110b fails to provide an update within a predetermined period of time, the file server 120a sets the status of the intelligent peripheral device 110a or 110b as, for example, "Down." Furthermore, since an intelligent peripheral device 110 which is down might not be able to update its status, software in the file server 120a may determine how long the intelligent peripheral device 110 has been down. Members of one workgroup may from time to time need to use or view status information concerning the intelligent peripheral devices outside of their workgroup. For example, if all of the intelligent peripheral devices are down, or a particular function of a remote intelligent peripheral device is needed. Preferably, therefore, the device status file or another means on the file server 120a maintains a pointer to the device status file on the other file server 120b. It should be appreciated that this is merely a simple example, and more complex arrangements are within the scope of the invention. Although exemplary embodiments of the present invention have been shown and described, it will be apparent to those having ordinary skill in the art that a number of changes, modifications, or alterations to the invention as described herein may be made, none of which depart from the scope of the present invention. All such changes, modifications and alterations should therefore be seen as within the scope of the present invention.

Claims: A computer network system, comprising a network (160), a plurality of workstations (150), a first general purpose computer (120a), and at least a first and a second peripheral device (110a, b), the plurality of workstations (150), the first computer (120a), and the first and second peripheral devices (110a, b) being communicatively coupled to each other by the network (160), wherein the first computer (120a) includes software for storing device status information into a device status file, the first and second peripheral devices each include software for determining information concerning the current device status of the first and second peripheral devices, respectively, and communicating the same to the first computer (120a) via the network periodically or at least when their status is changed to store the same in the device status file, and the plurality of workstations (150) each include software for requesting the device status information stored in the device status file, receiving the device status information and displaying the device status information. A computer network system as set forth in claim 1, characterized in that the sofware on the first computer (120a) is adapted for storing device status information from the first peripheral device (110a) in a first device status file and for storing device status information from the second peripheral device (110b) in a second device status file. A computer network system as set forth in claim 1, characterized in that the device status information from the first and second peripheral devices (110a - b) is stored in the same device status file. A computer network system as set forth in claim one of claims 1 to 3, characterized in that the first computer (120a) is adapted to provide the device status information for both the first peripheral device (110a) and the second peripheral device (110b) to the requesting workstation (150) in response to the request. A computer network system as set forth in one of claims 1 to 4, characterized in that , upon a request for an update made by a network administrator from one of the workstations (150), the first peripheral device (110a) can communicate to the first computer (120a) via the network the current device status information for storage in the device status file. A computer network system as set forth in one of claims 1 to 5, characterized in that at least one workstation (150) includes software for discovering peripheral devices (110a - e) which are able to determine and communicate their current status and are coupled to the network. A computer network system as set forth in one of claims 1 to 6, characterized in that the device status information comprises a unique network address for the sending peripheral device (110a), whether the sending peripheral device (110a) is up or down, and if the sending peripheral device (110a) is down, how long it has been down. A computer network system as set forth in claim 7, characterized in that the device status information also comprises, in an instance when the sending peripheral device (110a) is down, whether a network administrator has been notified that the sending peripheral device (110a) is down. A computer network system as set forth in one of claims 1 to 8, further comprising a second general purpose computer (120b), communicatively coupled to the computer network and including software for storing device status information in a device status file, and a third peripheral device (110c) communicatively coupled to the computer network and including software for determining information concerning the current device status of itself and communicating the same to the second computer via the network for storage in the device status file, the first computer (120a), the first and second peripheral devices (110a, b), and some of the workstations being members of a first workgroup (130a) of the computer network system, and the second computer (120b), the third peripheral device (110c) and other workstations being members of a second workgroup (130b) of the computer network system. A computer network system as set forth in claim 9, characterized in that the second computer (120b) further includes a pointer to the device status file on the first computer (120a) accessible by the workstations (150). A computer network system as set forth in one of claims 1 to 10, characterized in that the first peripheral device (110a) comprises a control unit (140a) and a hard output device (115a), the control unit for interfacing between the hard output device and the first computer. A computer network system as set forth in one of claims 1 to 11, characterized in that the first peripheral device (110a) comprises the control unit (140) associated with the hard output device (115), and the first computer is a file server, the control unit including a first communication means (428) for communicating with the hard output device (115) and obtaining device status information from the hard output device, a second communication means (424) for communicating with a file server (120) linked to the control unit via the network, the file server providing services to the plurality of workstations (150) linked to is via the network, the second communications means for relaying device status information with respect to the hard output device to the file server, memory resident software which periodically polls the hard output device for device status information via the first communication means and relays the device status information to the file server via the second communication means, and memory resident software capable of accepting a device discovery request by periodically polling the hard output device for device status information via the first communication means and relaying the device status information to the file server via the second communication means. The control unit as set forth in claim 12, characterized in that the first communication means (428) is a SCSI line, the second communication means (424) is a network interface adapter linking the control unit communicatively with the network, where the memory includes as resident a network operating system and software which provides initialization, configuration, network and peripheral device access, device status, and control and storage functions. A method for operating a computer network system according to one of claims 1 to 13 for providing to at least one workstation on the network with status information concerning a peripheral device (110) on the network, the method comprising the steps of: (a) the peripheral device (110) periodically determining its current device status; (b) the peripheral device (110) communicating its current device status to the first computer; (c) the first computer (120) storing the device status in its device status file; and (d) the at least one workstation (150) on the network obtaining the contents of the device status file in the first computer. The method of claim 14, comprising the additional steps of: notifying a network administrator accessing the device status file, if a peripheral device (110) is down; and if a peripheral device (110) is down, updating the device status file to reflect that the network administrator has been notified that the peripheral device is down. The method of claim 14 or 15, comprising initialization steps of: discovering a peripheral device on the network by a given workstation (150); creating a device status file on the first computer (120), the device status file including identifying information about the peripheral device (110); obtaining status information from the peripheral device by the first computer (120); and writing the status information for the peripheral device (110) in the device status file in the first computer (120). The method of one of claims 14 to 16, including the additional step of a process resident in the network administrator's workstation warning the system administrator against performing discovery. The method of claim 16 or 17, characterized in that the initialization steps are performed by a system administrator.

Inventors: ONAGA TYSON N, ONAGA, TYSON N.
Applicants: TOSHIBA KK, KABUSHIKI KAISHA TOSHIBA
Application year: 1998
Main classification: G06F3
IPC codes: H04N1, G06F13, B41J29, G06F3