An Introduction to Novell Distributed Print Services (NDPS)
Articles and Tips: article
Novell Developer Information
Novell Products Group
01 Apr 1998
The days of queue-based print services are numbered! NDPS is the next-generation printing architecture developed by Novell, Hewlett-Packard, and Xerox, and it promises to make network printing easier than ever to install, manage, and use.
Queue-based print services are a challenge to manage and to use. To install a printer on the network using queue-based technology, the administrator must create Print Queue, Print Server, and Printer objects, link them together, and then manage them for each printer on the network. To print, users must install the specific printer drivers, capture a port to that printer, and then wait for their print job to be sent and queued to the printer. While this complicated system works well, it is time consuming and difficult to troubleshoot problems.
Novell Distributed Print Services (NDPS) is the answer to administrator and user printing woes. NDPS is the next-generation printing architecture that improves printer and print server management. Novell, in partnership with Hewlett-Packard Company and Xerox Corporation, has helped resolve some of the present concerns and inadequacies of network printing. It is a needed upgrade and replacement for the traditional legacy, queue-based print services that have been in widespread use since the early days of computer networking.
This AppNote looks at the features that NDPS offers, gives a brief explanation of its architecture, looks at how NDPS functions in various network scenarios, and looks ahead to what the future holds for Novell's newest printer management service.
For more information about Novell Distributed Print Services, or how to order NDPS, call 1-510-463-7391. Or, in the United States and Canada, call 1-800-395-7135. You may also visit the NDPS home page at
For more information about Hewlett-Packard Company, visit their web site at
For more information about Xerox Corporation, visit their web site at
Overview of NDPS Features
NDPS was designed to handle the increased complexity of managing printing devices in any type of network environment ranging in size from small workgroups to enterprise-wide systems. NDPS, like intraNetWare was developed around the single-network concept. This design allows administrators, using NetWare Administrator (NWAdmin), to create, configure, and automatically install and initialize printers without having to physically go to the server console. In other words, administrators can manage their printers directly from their workstations. The following are brief descriptions of some of the business solutions that NDPS provides.
Greater Print Control
NDPS allows clients and printers to exchange real-time information about printers and print jobs. This interchange allows users and administrators to access information about a printer, such as availability status, configuration properties, and features (see Figure 1). NDPS also provides information about job properties and status, including the number of copies being printed, job hold and scheduling information, and notification when the job has actually been completed. Administrators can also configure and schedule print jobs to be processed according to time of day, job size, or media availability.
Figure 1: All management tasks can be done from the NWAdmin Printer Control page.
NDPS customizable event notification allows administrators to specify interested parties to be notified of an event or problem, how to be notified, and which events need notification. For example, notification can be configured so that the owner of a print job will receive a pop-up screen message when the print job has finished. An administrator can also ensure that a printer operator is notified when a printer problem occurs, such as a paper jam. Notification methods provided by NDPS include pop-up screen messages, e-mail (through GroupWise or any MHS-compliant program), and log file records. Third parties can also develop other mechanisms to work with NDPS (such as a beeper notification).
End-User Ease of Use
Not only does NDPS make printer management easier for system administrators, it also makes printing easier for end-users. NDPS eliminates the hassle for users to have to install print drivers by providing a configurable printer driver database that includes drivers for most printers in common use today. With Novell Directory Services (NDS) integration, administrators can choose which printer drivers to be automatically installed, so when users set up printers on their workstations, NDPS will access this database and automatically download the appropriate driver for the printer the user specifies. (At this time, this feature is available for Windows 3.1x and Windows 95, but with the release of NetWare 5, NDPS will also support Windows NT clients.)
Using the Novell Print Manager utility, which is included with the NDPS client, users can install additional printers and are not limited to using only the printers selected by the system administrator. This utility also allows users to search for printers with specific characteristics. For example, a user can search Novell Print Manager for printer characteristics such as color, type, location, speed, or several other printer qualities to help locate the appropriate printer for the job.
An NDPS client can also modify printer configurations. For example, a user can configure a printer to use a different size paper or to print a cover page. Users can change the properties of any installed printer that the administrator has not locked out. Also, using NDPS, users can view the current status of any available printer to see how many print jobs are waiting to be printed before they send their job. These features of NDPS help make end-user printing easier and more effective than the methods of the past.
Integration with NDS
NDPS was designed to integrate tightly with NDS. Integration with directory services allows administrators to create a single NDS object--an NDPS Printer object--to represent each printer on the network. As a Printer object, printers become as secure as the other objects in the NDS tree, and they are likewise just as easy to mange. In the NDS tree, printers can be conveniently grouped by department, location, workgroup, and so on, as illustrated in Figure 2.
Figure 2: The NDPS Printer Agent is integrated with NDS.
NDPS has two separate printer configurations: the first, which can be configured as an NDS object, is called a controlled access printer; and the second, which is not represented as an NDS object, is called a public access printer. To understand how these two configurations are possible, you need to know a little about Printer Agents.
Printer Agents are the heart of NDPS. They are software that take the place of print queues and print servers to represent the printers themselves. Printer Agents are the liaisons between NDPS clients and printers, so that each print job goes from the client to the Printer Agent to the printer. We will say more about Printer Agents in the "Architecture of NDPS" section later in this AppNote.
A public access printer is exactly what its name implies: it allows all network users access without requiring them to be authenticated to the NDS tree. The printer is still manageable through NWAdmin, but it is not represented as an NDS object. To create a public access printer, administrators need only ensure that a Printer Agent exists for that printer and then it is ready to be used. Public access printers are convenient to use, but do not offer the security benefits of a controlled access printer.
A controlled access printer provides printing security as an NDS object by validating the service requests of each client. This allows control over which users can use and have access to this printer. Also, only controlled access printers can take advantage of all the NDPS features, such as customizable event notification. To configure a controlled access printer, administrators create an NDPS Printer object to represent the printer on the NDS tree, and with its own Printer Agent, this printer is then ready to be used.
Backward Compatibility and Support
NDPS is fully compatible with all types of printers, whether or not they have been configured to take advantage of the advanced features that NDPS offers. NDPS can be configured to work with NPRINTER and queue-based technology in conjunction with intraNetWare/NetWare 4.11. The backward compatibility and cross-platform support offered by NDPS ensure that all of your current printers configured with NPRINTER and Queue Management Services (QMS) will work just as they always have, even if you do not convert them to NDPS status when you initially install NDPS on your system.
Backward compatibility also means that NDPS clients will be able to access queue-based printers, and that queue-based clients will be able to access NDPS printers, though they won't enjoy all the features of NDPS.
Hardware and Software Requirements
The hardware and software requirements for running NDPS are as follows:
70 MB of free disk space (10 MB for the NDPS server components and 60 MB for the printer drivers that come with NDPS. After installation, unneeded printer drivers can be deleted.)
NetWare 4.11 or intraNetWare intranet platform
Printer gateway (Novell's NDPS gateway and Hewlett-Packard's Printer Gateway NLM are included with NDPS. The Xerox gateway is available directly from Xerox.)
Windows 95 or Windows 3.1
1.25 MB of free disk space on Windows 3.1 workstations
2 MB of free disk space on Windows 95 workstations
NetWare Client for Windows 95 or Windows 3.1 (version 2.2 or above)
Any client that will print to a queue
Architecture of NDPS
The NDPS architectural components are independent of any single operating system. The architecture is designed to be portable to different environments and is based on the International Standards Organization (ISO) 10175 Document Printing Application (DPA) standard and Internet Engineering Task Force (IETF) RFC 1759. Most printer manufacturers follow these specifications, making NDPS fully compatible with existing and future printers.
The following sections describe the various components that comprise the NDPS architecture (see Figure 3).
Figure 3: The NDPS architecture consists of several components.
As mentioned earlier, Printer Agents are software entities which are literally the heart of NDPS. The software is the liaison between NDPS clients and printers. A Printer Agent is either a NetWare Loadable Module (NLM) which runs on a intraNetWare/NetWare 4.11 server or it is embedded software which resides in a printer. As printer manufacturers create gateways for their printers to work in NDPS, Printer Agents running on the server will become obsolete. If such embedded software is not available for your printer, Printer Agents can easily be created using NDPS Manager. Each printer needs to be represented by a Printer Agent to work in NDPS.
Figure 4 shows the different configuration possibilities for NDPS Printer Agents.
Figure 4: There are three basic possibilities for configuring NDPS Printer Agents.
Keep in mind that before a printer can be incorporated into an NDPS printing environment, it must be represented by a Printer Agent. No Printer Agent can represent more than one printer, and no printer can be represented by more than one Printer Agent.
Printer Agents contain information about the printers they represent. Information such as a printer's network address, name, status, or other characteristics can be communicated to the NDPS client, and managed by the system administrator.
Gateways to Printer Agents
A printer gateway is a software bridge which directly links Printer Agents to printers. NDPS supports two types of printer gateways. The first, the Novell gateway, supports local and remote printers, including those using NPRINTER or queue-based systems, and is implemented through the Print Device Subsystem (PDS) and the Port Handler (PH), as discussed below. The second gateway is third-party gateways which are developed by printer manufacturers to support printers directly attached to the network, which allow plug-and-print capabilities (for example, Hewlett- Packard and Xerox have already developed their own NDPS gateways). These third-party gateways can be configured to automatically create Printer Agents when one of their printers is attached to the network, and replaces the need for the manually creating Printer Agents and using the PDS and the PH.
Print Device Subsystem
The Print Device Subsystem (PDS) is an NLM that resides on the server. The PDS retrieves printer-specific information and stores this information. The Novell PDS is used to create Printer Agents for printers that are not directly attached to the network (local and remote printers) and for printers directly attached to the network whose manufacturer does not provide a proprietary NDPS gateway, or for those that are running in PSERVER mode. A PDS works by translating the information received from the Printer Agent into a device-specific language that can be used to communicate with the physical printer.
The Port Handler (PH) ensures that the PDS can communicate with the printer regardless of the type of physical port or interface (for example, parallel, serial, or network) that is being used. As mentioned earlier, the PDS and the PH make up the Novell gateway.
NDPS Broker Services
When NDPS is installed, the Broker NLM--a new object in the NDS tree--is automatically installed on your server. Broker NLM provides three new network support services not previously available with intraNetWare/NetWare 4.11 that work for both NDPS and any other network resource. The basic architecture of the Broker is illustrated in Figure 5.
Figure 5: The architecture of the NDPS Broker.
These services are described as follows:
Service Registry Service—The Service Registry allows public access printers to advertise themselves. This allows administrators and users to find which printers are registered and reduces network traffic. Before NDPS, each printer had to periodically advertise its availability through the Service Advertising Protocol (SAP). While this method was effective, it created an abundance of traffic on the wire. The Service Registry Service (SRS) helps minimize the overload of network congestion created by many printers advertising through the SAP. With NDPS, when a public access printer is attached to the network, it registers with the SRS. When an application or user wants to use a printer, it communicates with an SRS and retrieves a list of all registered printers on the network.
Event Notification Service—This is the brokered service which allows administrators to configure event notification for interested parties. At the workstation, individual users can only use the Novell Printer Manager to configure event notification pertaining to their own jobs. Event Notification supports many methods, including E-mail, pop-up windows, log files, or programs developed by third parties.
Resource Management Service—This service allows resources to be installed to a central location and then downloaded to clients, printers, or other entities on the network that need them. The Resource Management Service (RMS) allows administrators to add, list, replace, and delete printer drivers, printer definition files, banners, and fonts. Some additional benefits of the RMS include: improved resource sharing, more manageable resource distribution and updating, automatic printer driver download, remote workstation printer installation, and the availability of network resources to diverse applications through a common interface.
NDPS Implementation Scenarios
The following pages illustrate how the architectural elements described above can be linked together in a variety of network configurations. Each scenario has different setup options. These setups are described in order of decreasing NDPS functionality; in other words, Setup 1 is the most NDPS functional and Setup 7 is the least.
Note: If you prefer a gradual transition into NDPS, you may choose to print to a queue. This allows for continued operation of all your clients running on any platform.
The first three setup options are shown in Figure 6.
Figure 6: Three ways NDPS printers can be attached and configured on a typical network.
In Setup 1, the Printer Agent is embedded in the physical print device, which is in turn connected directly to the network backbone. In this setup, full bidirectional feedback, configurable notification, and control are maintained between the client and the physical printer. This represents a fully NDPS-ready implementation with full NDPS functionality.
In Setup 2, the physical printer is connected directly to the network backbone, but the Printer Agent is located in the server. Bidirectional feedback and control between the client and the physical printer are facilitated through a third-party gateway. This gateway provides interoperability for printers that currently support bi-directional communications. These could be either proprietary protocols or SNMP for a more general solution.
Setup 3 is similar to Setup 2, except that the printer is connected to the server using an IEEE 1284 or Bitronics parallel port, or standard RS 232 serial port. Bi-directional feedback and control are then facilitated through an NDPS Print Device Subsystem (PDS) interface.
In the setups shown in Figure 7, full bidirectional feedback and control are maintained only between the client and the Printer Agent.
Figure 7: Backward compatibility of NDPS to support NPRINTER technology.
In Setup 4, an NPRINTER gateway provides an interface between a Printer Agent located on a server and a workstation running NPRINTER.EXE. The gateway provides backward compatibility for an existing NPRINTER configuration. NPRINTER can run as an executable on a workstation or as an embedded component of the printer, printer network adapter, or print server. An intelligent agent in the NPRINTER gateway maintains static information about the printer and answers queries based on that static information.
Setup 5 is similar to Setup 4, except NPRINTER is running within a network-attached printer rather than as an application on a workstation between the printer and server. Similar to Setup 4 (but not shown in the figure) is the capability of using a queue server gateway to redirect a print job to a queue. Print jobs can also be submitted to a print queue and then serviced by any Printer Agent.
In Setup 6 shown in Figure 8, a PSERVER gateway provides an interface between a Printer Agent located on a server and a queue. A queue server embedded within a network-attached printer is servicing that queue. The gateway provides backward compatibility for an existing embedded queue server. An intelligent agent in the PSERVER gateway maintains dynamic information about the printer and answers queries based on that information.
Setup 7 is similar to Setup 6, except PSERVER.NLM is running on a server rather than as an embedded queue server application in a printer. Print jobs can also be submitted to a print queue and then serviced by any Printer Agent.
Figure 8: Backward compatibility of NDPS to support PSERVER technology.
Future of NDPS
Currently Novell is shipping an NDPS original equipment manufacturers (OEMs) software development kit (SDK) for developers to write customized NLM gateways. In the next few months, the Novell Embedded System Technology (NEST) Office SDK will also begin shipping and will offer printer vendors and other network output device vendors the ability to embed NDPS-ready code in their printers, copiers, scanners, fax machines, multi-function devices, and so on. This embedding power will allows these devices to communicate to the server without administrators having to create or directly manage Printer Agents.
In collaboration with other printer and software vendors involved in the Internet Printing Protocol (IPP), Novell is helping define the new standard of managing print jobs over the Internet and intranets. When this new protocol is adopted, NDPS will be configured to function in IPP as well. This means that users using a Web browser will be able to find, install, print to, and manage NDPS Internet or intranet printers from anywhere in the world.
NDPS, the future of network printing, is available now. It will also be included in new versions of NetWare. Developed through the collaborative efforts of Novell, Hewlett-Packard, and Xerox, NDPS changes the way users print, administrators manage, and third-parties develop printing solutions. The results are easier printing with more control, consolidated and simplified management, and more printing capabilities from third-party developers. NDPS means reduced printing costs and higher productivity in the workplace.
* Originally published in Novell AppNotes
The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.