« ZurückWeiter »
PRINTER/CLIENT NETWORK WITH
CENTRALLY UPDATED PRINTER DRIVERS
AND PRINTER STATUS MONITORING
FIELD OF THE INVENTION 5
This invention relates to printers that are connected to a network and are accessible from a plurality of client processors via a file server and, more particularly, to such a network wherein printer driver procedures installed in client io processors are centrally available from a most-updated version of the printer driver procedure and, further, wherein the client processors are continuously informed of a printer's availability status.
BACKGROUND OF THE INVENTION
The most widely used operating systems in desktop computers are DOS (Disk Operating System) and Windows, both products of the Microsoft Corporation, Redmond, 2Q Washington. The DOS operating system requires that applications include an embedded printer driver module that enables communications with a connected printer. An application, therefore, must have embedded in it an appropriate printer driver for a connected printer. If two or more printers 25 of different kinds are connected to a computer having DOS applications, each application requiring use of the printers must include embedded printer drivers for each printer type. By contrast, the Windows operating system employs separate printer driver modules and all applications written for a 30 Windows operating system are enabled to employ a printer driver module in a generic manner. Thus, Windows applications have a standard interface that matches the preexisting printer driver module. If a computer is required to interface with two or more different types of printers, each 3J requiring a separate printer driver, the Windows operating system will require a printer driver module for each of the different type printers.
In a network environment where multiple client computers are connected via a file server or interconnecting network 40 to multiple printers, a number of administrative problems arise that are not present when a single computer is connected to a single printer. For instance, if a new printer type is added to a site, each client computer must be informed of the network configuration change and a new printer driver 45 must be installed on the client computer for the device. Otherwise, the client computer is not able to use the newly added printer. Further, as new printer drivers are provided by manufacturers to correct previously discovered defects or to provide enhancements to previous printer drivers, each 50 client computer must receive a new printer driver. These actions can cause substantial network interruption while the new printer drivers are being installed.
In a network of the nature described above wherein client computers employ the Windows operating system, a sepa- 55 rate file server installation is often used to enable communications between the client computers and network-connected printers. In order to determine network print function availability, a user of a client computer must have detailed information regarding precisely where to inquire to access 60 network status information. In a network operating under the NetWare environment (Novell Corporation, Provo, Utah), there are many pieces of status information that, together, affect an overall print operation. For instance, the Novell print server and queue management system both evidence 65 status information regarding printer availability; however, their status information can only be accessed by knowing
where (and how) to inquire. Further, even if the user knows how to obtain network status information, it is up to the user to understand the meaning of the status information.
Client computers connected to a printer network employ a software utility to control interface functions with a connected file server. The file server, in turn, enables access to various printers connected in the network. Such a software utility often can only run in a single operating system environment, i.e., DOS, Windows, OS/2, etc. When there is a requirement that such a software utility operate with more than one operating system environment, the traditional solution has been to develop to separate utilities, each with a different name, and method to invoke. For instance, if a client computer has both DOS and Windows, the client computer includes a printer utility written specifically for DOS and one specifically written for Windows. The user must thus remember the name of the printer utility written for the operating system the client computer is running under.
Accordingly, it is an object of this invention to provide a network that includes multiple printers and client computers, wherein a file server is included that allows central administration and updating of printer driver installations.
It is a further object of this invention to provide an improved printer/client computer network where information is continuously provided regarding network status so as to enable a user to assess an ability to accomplish a print job.
It is still another object of this invention to provide an improved system for insuring that a proper printer utility will be loaded in a client computer even if the wrong printer utility is requested by the user.
SUMMARY OF THE INVENTION
A network includes plural client processors, a file server and plural printers. Each client processor has memory that stores a printer driver procedure which enables the client processor to interface with at least one printer type. The file server includes memory for storing a most updated printer driver procedure for each printer type coupled to the file server. The file server is responsive to a print request from a client processor to assign a printer to the requesting client processor. The client processor then determines if a printer driver procedure for the assigned printer in the client processor is identical to a most updated print driver procedure stored in memory in the file server. If not, the client processor causes alteration of is printer driver procedure to bring it into coincidence with the most updated print driver procedure. A printer utility is also installed in each client processor and provides the means for automatically determining network status and for indicating to the user whether the network is available or unavailable, and a message indicating the reason for the unavailability.
DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a system incorporating the invention.
FIG. 2 is a representative display that appears on the screen of a client processor.
FIGS. 3a and 3b illustrate a logical flow diagram of the operation of one aspect of the invention.
FIG. 4 is a logical flow diagram illustrating the operation of a further aspect of the invention.
FIG. 5 is a block diagram illustrating the system that performs the process described in FIG. 4.
DETAILED DESCRIPTION OF THE
Referring to FIG. 1, client processors 10, 12 and 14 are connected, via an intervening network, to a file server 16. A plurality of printers 18, 20, 22 are also connected to file 5 server 16 and are made available for use by any of client processors 10,12 or 14 through the action of file server 16. Each client processor includes a printer utility program 24 which allows a user to select a printer connected to file server 16 (e.g., printer 18, printer, 20, etc.) as a default 10 printer without the user needing to know any of the network interactions that are required to establish connection with the printer. Thus, any time a user executes a print command from a client processor, printer utility 24 automatically makes connection with the default printer.
Hereafter, it will be assumed that each of client processors 10, 12, 14 employs the Windows operating system. Client processors 10,12,14 further include a printer driver procedure 26 that enables a client processor to configure an output 2Q data stream that will be recognized and operated upon by a connected printer. The output data stream implements necessary hand-shaking actions required to enable interaction between the client processor and the connected printer. One client processor, in this case client processor 14, is desig- 25 nated as a network administrator and includes a printer administration utility program 28 which enables uploading of new programs into file server 16.
printers 18 and 20 are provided with modular input/output (I/O) plug-in cards 30. A similar modular I/O plug-in card 30 30 is provided for plotter 22. Each modular I/O card 30 is provided with a microprocessor and a shared memory through which data is provided to a connected printer/ plotter. A modular I/O card 30 provides interface capability between a connected printer/plotter and file server 16. A 35 modular I/O card 30 includes all network protocol information required to establish a connection and operate over the network created by file server 16, and to enable print jobs to be received and transmitted. The I/O function is configured on a pluggable card for the reason that printers, 18 and 20, 40 and plotter 22 may be connected to any of a plurality of networks, each such network having a unique network protocol. By enabling I/O functions to be handled by a modular I/O card, a printer or plotter may be interfaced with any of the plurality of networks—so long as the proper 45 modular I/O card 30 is inserted. Such a modular interface function is described in U.S. Pat. No. 5,197,128 to Campbell et al. which is assigned to the same Assignee as this application. The disclosure of U.S. Pat. No. 5,197,128 is incorporated herein by reference. 50
File server 16 provides a central control function which enables one or more of client processor 10, 12, 14 to be connected to one or more printers 18, 20 or to plotter 22. Within file server 16 is a control processor 32 that operates file server 16 and its interconnection functions. A memory 55 34 in file server 16 stores a plurality of data structures that are necessary for the operation of the client processor/printer network. One such data structure is a printer/driver table 36 which contains a listing that associates each printer connected to file server 16 with a printer driver procedure for the 60 printer. Data from printer/driver table 36 is used to access a printer driver procedure stored in printer/driver library 38. It is to be understood that a number of different types of printers are connectable to file server 16. For instance, printer 18 is a LaserJet 111 model manufactured by the 65 assignee hereof whereas printer 20 is a LaserJet TV model. Different printer drivers are required for each of the afore
said models. A printer driver procedure for each is stored in printer/driver library 38.
Memory 34 further contains a print queue manager procedure 40 which receives print jobs and print job requests from connected client processors and places them in one or more of print queues 42. When a printer is prepared to receive a new print job, it notifies a print server procedure 44 which then arranges to feed a print job to the connected printer from one of print queues 42.
Also contained within memory 34 is a most updated version 28' of printer administration utility program 28 and updated version 24' of printer utility program 24. Because memory 34 stores (i) most updated versions of printer drivers in printer/driver library 38 (ii) printer administration utility 28 and (iii) printer utility 24, there always exists a repository where the most updated version of a program can be found. Thus, when a client processor elects to utilize a particular printer, it further determines whether its printer driver 26 is consistent with the most updated printer driver version in printer driver library 38. If not, the client processor causes its printer driver 26 to be revised or overwritten to reflect the most updated printer/driver version contained within printer driver library 38. Likewise, if any changes are made to printer administration utility 28 or printer utility 24, the changed program version 24', 28' merely needs to be loaded into memory 34 and then downloaded into all client processors 10, 12 and 14, as needed.
As above indicated, printer administration utility 28 is present in only one client processor (e.g., processor 14), which acts as an overall system administrator. The printer administration utility 28 enables a printer driver, for instance, to be loaded onto client processor 14 and then uploaded into printer/driver library 38. Furthermore, printer administration utility 28 enables printer/driver table 36 to be updated to reflect the newly inserted data.
printer administration utility 28, among other functions, enables the file server 16 to indicate to each client processor a list of available printer/plotters found on the network.
Each modular I/O card 30 periodically "advertises" its availability by the transmission of messages to file server 16. Each message includes the name of the service, the type of service and the address of the available service (e.g. print actions). This data is accumulated within file server 16 and enables the generation of display presentation 50 (see FIG. 2) at a client processor. Display screen presentation 50 appears on a client processor in response to a user's request to show available printers. Screen presentation 50 is presented under control of printer utility 24 which initially determines a default printer destination and shows the name and states for that printer at 55 and 58 respectively in presentation 50. Printer utility 24 then examines the printer/ driver table 36 contained in file server 16 for the matching printer driver. If the existing driver in the client processor requires an update, the new printer driver is reinstalled. Screen presentation 50 at location 52 shows a list of other potential printers that are available to the client processor. By a user selecting one of the entries in the list by movement of selection bar 54, status indicator 58 and status message 60 are updated to reflect the status of the selected printer.
Selecting a SET DEFAULT button 62 will cause the highlighted entry to become the new default printer. The default printer is used by all Windows applications for printing documents. Printer utility 24 will also install a new and matching driver for this printer, obtained from the printer/driver database."
Upon the user selecting a particular printer by the movement of selection bar 54, status box 56 automatically indi