It’s not uncommon for several protocols to exist on various PCs on a network. With such a melting pot, installing a print server can be anything but easy.
A few obstacles
What's so complicated about network printing? For a start, computers speak a number of different protocols. A protocol is a way of communicating between two devices on a network. It's rather like a language. So in a multi-protocol network, some computers speak the equivalent of English while others are speak French and others are speaking Japanese. The print server must be sophisticated to handle requests from different types of computers. In the past, this sophistication has implied that the server was hard to configure and use.
Another problem is the difficulty in setting up printing from the host computer or file server. This has traditionally entailed entering some cryptic operating system commands and also installing complex software on each host computer or file server. Again, this makes things harder for both the network manager and the users.
Still another problem is that some computers (notably the Apple Macintosh) like to print using the Postscript language, while others prefer PCL and older computers may even use a different standard such as DEC LN03. Users also need to select printer features such as duplexing without upsetting others on the network. Printer languages and features therefore need to be automatically enabled on a per job basis.
Finally, there's the matter of feedback, both to the user and to the system manager. Since the network printers are often some distance from the user, there needs to be a way to let the user determine the status of his print job and whether or not the printer needs attention. For example, if a printer is jammed, there is traditionally no way for the user to know this fact unless he or she actually walks over to the printer. And the network manager not only needs to know whether the printer needs attention, but also whether it is causing any problems on the network.
Why a print server?
In the old days, there were three ways to connect printers to a network:
Directly to a file server or host computer on the network
To a PC connected to the network
To a terminal server
The biggest problem connecting the printer directly to the file server or host computer was distance limitation. That is, because a parallel port cable must be less than 25 feet in length, the printer needed to be close to the computer. Usually, however, the users of the printer are not located anywhere near it, so this is obviously unacceptable in most environments.
Attaching the printer to a PC solves the distance problem, since the PC can be connected anywhere on the network. Some people like this method because they can simply convert an unused PC to act as a print server. But this is far from the best approach. For one thing, PCs are difficult to set up as print servers and because of their complexity, they are more likely to fail. Also, the parallel port on a typical PC (especially 8088 and 80286-based ones) is woefully slow (less than 10Kbit/sec), with a modern print server having 10 times the throughput. And finally, the PC uses much more electrical power - enough, in fact, to pay for the cost of the print server within a few years.
In more recent times, printers on Digital and UNIX networks were often connected to special-purpose devices called terminal servers. Terminal servers were originally designed for connecting dumb terminals to a network, so users could use a single terminal to connect to multiple host computers. Terminal servers also became popular for connecting printers because they were relatively low-cost and could be located anywhere on the network. But because terminal servers were designed for handling terminals, they are not optimised for printers. In particular, they are large and use slow-speed (usually 38.4Kbits/sec) RS-232 serial connections.
Because of the need for a higher performance and more compact solution for connecting printers, the print server was invented. A print server is an intelligent microprocessor-based device that connects to the Ethernet on one side and to the printer on the other side. Compared with terminal server and the PC-based print server, a print server offers the following advantages:
Much smaller packaging
Much higher performance
Specific features for managing and controlling printers
There are two basic types of print servers:
External boxes, which typically connect to the printer's parallel port on one side and to the network on the other side
Internal cards, which plug into a special slot in the printer
Each has its advantages. An internal card has the advantage of being compact
And, in many cases, higher performance, since it connects directly to the internal bus of the printer. An external box has the benefit of working with virtually any kind of printer, so when you upgrade your printer, you don't have to throw away the print server. And with the P1284 Bitronics parallel interface that is now standard on many printers, there is no longer a major performance difference between internal and external print servers.
Ease of use - minimum requirements
But are print servers easy to install and use? Not necessarily. If a print server is to be easy to use, it must meet the following criteria:
It must work transparently from the users' point of view: they should be able to print directly from application programs such as WordPerfect or Excel
It must run without adding special spooling software on the host computer or file server: most UNIX systems use the LPR/LPD method of printing to remote network devices, so a print server should ideally support the LPR/LPD protocols
It must work transparently with the print queue management utilities on the host computer or file server. For example, Novell NetWare uses the PCONSOLE utility to configure and manage print queues, so a print server should be compatible with PCONSOLE
It must offer easy-to-use installation tools, above and beyond the standard print queue management utilities provided by the file server or host computer
It must support multiple protocols automatically and simultaneously
It must transparently support printer page description languages and features, so users do not have to worry whether their print job is in PostScript or PCL format, and should be able to select special features such as duplexing and alternate paper trays easily
It must work with network management standards such as SNMP
A print server must be high-performance to cut down on print-job times, particularly important for colour printers because of the large file sizes involved: a photographic colour image can be 100Mb or more in size
A print server must be easily upgradeable to handle future applications and must support Flash memory so that new features can be downloaded to it easily
The graphic details
Let's look at the print server ease-of-use criteria in more detail:
It is absolutely critical that users do not need to learn new procedures to use a network printer. If they are using Windows applications, they should be able to choose a printer from the Print Manager, then simply pull down the File menu and select Print. Likewise, if they are using Apple Macs, they should be able to choose the printer from the Chooser, pull down the File menu and select Print. If the software supports notification of print job and printer status, as with the Mac, the print server should pass the notification back to the user.
Ideally from a system manager's point of view, there should be no need to install special printing software on client PCs. But in the event that such software is required, it should install using standard installation techniques, such as clicking on the SETUP.EXE file from the File Manager in Windows or on the Installer on a Mac).
No special software on file server or host computer
Today's file servers and host computers generally have built-in network printing capabilities. So why burden the system manager with the installation of special software on the host? This can sometimes be very difficult, particularly with UNIX systems. Worse, if you upgrade your host computer or file server, the print server software may no longer work.
Consequently, whenever possible, it is best to use the network printing capabilities are built into the operating system. These include:
NetWare Print Server and Remote Printer, NetWare Directory Services
UNIX TCP/IP and LPR/LPD
Digital LAT Symbiont, Digital Print Supervisor and VMS Print Command
AppleTalk LaserWriter drivers
Windows 95 client for Microsoft Networks
Windows NT LPR Monitor
LAN Server TCP/IP and LPD
In addition, file servers and host computers have commands and utilities that are used to set up print queues. Print queue management software includes:
NetWare PCONSOLE, PRINTCON and NWADMIN
UNIX /etc/printcap, lpadmin, lpq, lpstat, lpc, smit, sam, and others
DEC NCP/NCL, LATCP, VMS print-related commands (eg DEFINE/QUEUE), DECprint Supervisor
Windows 95 Add Printer Wizard and JetAdmin
Windows NT Print Manager
LAN Server Printer icons
VINES MANAGE, MSERVICE, and Operator Console Printer Control
If the print server is compatible with all the above, the network manager should only have to run the appropriate setup utility, set up a print queue and add the print server name and/or address, plus the desired print server service, to set up the print server.
Easy-to-use installation tools
Although most file servers and host computers provide installation tools for network printers, some are not user-friendly. NetWare's PCONSOLE utility may have been great in its time, but it is archaic by today's standards because it is a DOS-based utility using old-fashioned text menus. These days, users expect Windows-based graphical utilities that allow them to configure print queues simply by pointing and clicking with the mouse.
The latest standard for Windows-based configuration utilities is Hewlett-Packard's JetAdmin utility, which allows a network manager to configure the print server, create a NetWare print queue and associate the print server with the print queue, all with a few simple mouse operations. It also allows the network manager to see the status of the printer (that is, whether it is out of paper or jammed) and to diagnose the print server's network connections. JetAdmin has become immensely popular - it is now included as standard with Windows 95 - so a print server should be compatible with this utility.
Since JetAdmin is not available on all systems, the print server should include its own proprietary setup utility. Like JetAdmin, it should be graphical and Windows-based, allowing the network manager to configure both the print server and the NetWare queues and to receive print server and printer status and diagnostic information
Multiple protocol support
Different types of computers use different protocols. So, if a printer is to be shared on a network with different types of computers, it must support multiple protocols. The print server must be able to handle multiple protocols automatically. If one user sends an AppleTalk job and a second user sends a NetWare job, the jobs will be printed in the order received with no operator intervention required. On the other hand, it should be possible for the network manager to disable protocols when necessary to reduce network traffic or to restrict access to the printer.
Printer language and features support
Printers support one or more page description language (PDL). The most popular by far are PCL and PostScript, but others such as DEC LN03 (ANSI PPL) are still in use. The problem is that certain computers only work with certain PDLs; the Apple Macintosh, for example, generally requires PostScript or QuickDraw. The second problem is that certain print management software, such as Digital's DECprint Supervisor ( which requires PostScript ( and certain applications programs require a particular PDL. Therefore, the print server must be capable of automatically handling the various PDLs.
Fortunately, most of today's printers have the ability to switch automatically between PostScript and PCL, assuming that both PDLs are installed in the printer. This eliminates the need for the print server to handle the switching task for these languages. But what if you have an older printer such as the LaserJet IIISi, which does not support automatic language switching? Or if you have old application programs that require the DEC LN03 PDL? In these cases, the best solution is to have the print server do the language switching by looking at the incoming print job and automatically setting the printer to the appropriate language. In addition, if the application requires DEC LN03 support, the print server should provide the capability to translate LN03 print jobs into PCL so that the jobs will properly print.
An AppleTalk-specific issue is the handling of binary PostScript files. Binary PostScript is a compressed format for handling graphics and is widely used by programs such as QuarkXPress, PageMaker and Photoshop. The print server should be capable of handling binary PostScript files in a transparent manner. Unfortunately, this is not always possible with an external print server (it depends on the printer), but it should be mandatory for an internal print server.
Another AppleTalk issue is bi-directional communications. AppleTalk requires the printer to send the print job and printer status information back to the user. In order to accomplish this with an external print server, the print server and the printer must have a P1284-compatible Bitronics parallel interface, or the print server must support AppleTalk spoofing. In AppleTalk spoofing, the print server sends the required status information to the user, allowing the print server to work with printers that have non-bi-directional Centronics parallel ports.
There should also be a mechanism for the user to enable special features on the printer, such as duplexing. This capability exists in many PC drivers, so it is usually not a problem if the user is using Windows or a Macintosh. But on many mid-range computers, the task is not so simple. To get around the problem, the concept of virtual printers was developed, which allows a single printer to act as multiple virtual printers on the network. For example, a LaserJet 5Si can be configured for some users in normal portrait mode, for other users in landscape mode and for others in duplex mode. To do this, the print server must provide multiple services on the network, each of which can be configured with custom setup and reset strings. The strings contain various combinations of printer commands, to enable the required printer features and to reset the printer after the job is complete.
Network management support
Most of today's network management stations use the Simple Network Management Protocol (SNMP), so a print server must at the very least include minimum include SNMP support. Unfortunately, SNMP support is not very printer-specific and the primary use for SNMP with print servers is to determine the network status of the device. A print server should support SNMP operation over both the IP and the IPX protocols.
The network manager should also be able to access the print server console through standard methods such as TELNET or the DEC MOP protocol, to manage the print server. This allows the network manager to connect to any print server on the network from a remote location, to obtain print server and printer status and set print server parameters. The console should also be accessible through a serial port on the print server in the event of a network problem.
There are some emerging printer management standards, notably the ones from the Desktop Management Task Force (DMTF). These promise to allow much more detailed printer status over the network, but they are not yet widely implemented. In the meantime, the best printer network management solutions are proprietary packages such as JetAdmin. This software provides detailed printer status and network diagnostic information and is also available as a snap-in module for Novell's NWADMIN utility. As a result, print servers that are compatible with JetAdmin can easily be managed over the network.
Some print server companies provide their own network management solutions. They are good for managing the print servers made by a particular manufacturer, but are generally unable to manage print servers made by other companies.
Print server performance: an emerging issue
Print server performance never used to be a big issue because print jobs mostly contained text data and the print server was much faster than the printer. Now, however, word processing files contain a lot of graphics information and the trend is towards even greater graphical content. This is especially true since the advent of colour printers. For example, 8-bit colour files (256 colours) are eight times the size of the equivalent black-and-white file, while 24-bit colour files are 24 times the size. This can entail file sizes that are easily in excess of 100Mb. If a print server operates at 100,000 characters/second sustained throughput, such a file would take 17 minutes to print, while one that operated at 50,000 characters/second would require 34 minutes.
Users do not want to wait a long time for their jobs to print, so the faster the printer and the print server, the better. In response to this requirement, printer manufacturers and print server manufacturers have significantly increased the speeds of their products. Therefore, pay particular consideration to the throughput capabilities of a print server, because it could make a major difference to print times and, consequently, user satisfaction. Be careful to compare apples with apples, however. Most print server manufacturers quote a burst throughput rate (the theoretical maximum transfer rate at a given instant in time), but the sustained throughput rate (the actual rate that can be sustained over a long period of time) is a more real-world number.
Don't forget future upgrades
Network printing technology is not a static thing, as new features and standards are constantly emerging. For example, Microsoft released a peer-to-peer protocol for printing from a Windows 95/98 computer and Novell is developing NetWare Distributed Print Services (NDPS) to simplify the installation and management of printers on a network. To take advantage of such capabilities, a print server must be easily upgradeable.
In the past, the operating code for print servers was contained on PROM (programmable read-only memory) chips. Upgrading the chips involved taking the print server apart. Modern print servers, however, use Flash memory for the operating code. Flash can be upgraded by downloading files over the network, so features can be added easily. Note, however, that even though they have Flash memory, some print servers are not capable of downloading files using given protocols. For example, if your network runs NetWare, make sure the print server can download files from a NetWare file server. A good print server should be capable of downloading files from multiple protocols, as well as from a serial port in the event of the network not being available.
This was first published in August 1999