The Print Job's Journey

How does a print job travel from a Novell Distributed Print Services (NDPS) client to a printer, and what architectural components of NDPS are at work during the print job's journey from the NDPS client to the printer? (See Figure 8.) The following example explains each step of the printing process in an NDPS environment:

Suppose that your Windows 95 workstation were running an NDPS-enhanced version of IntranetWare Client for Windows 95 and that you installed a Hewlett-Packard (HP) 4si printer on this client. You then installed a printer configuration specifying that you wanted to be notified of a print job's status via a pop-up screen. When you installed the HP4si printer and the printer configuration, NDPS would create a logical port for routing printing information from the NDPS client to the HP4si printer.

Now suppose that you had already installed two other printers on the NDPS client and that NDPS created logical ports NDPS01 and NDPS02 for these printers. NDPS would then assign logical port NDPS03 to the HP4si printer you just installed. Unlike physical ports, logical ports are infinite, which means that you can use any printer on your company's network without having to change your desktop configuration.

After creating a logical port for the HP4si printer, NDPS would update the NDPS client's short list, which would be located in the Windows 95 registry. (In Windows 3.x, the short list is a file.) A short list includes printer information such as the printer's name, the Printer Agent's network address, the name of the NDPS Printer object (if one exists) with which the Printer Agent is associated, and the printer configuration. NDPS would update the short list by supplying this information for the HP4si printer and the printer configuration you installed and by specifying that all print jobs for this printer should go through logical port NDPS03.

NDPS would then use logical port NDPS03 to download the appropriate printer driver to the NDPS client. This printer driver would load the first time you printed a document to the HP4si printer.

The HP4si printer would now be ready to use. Suppose that you sent a WordPerfect document to the HP4si printer, requesting two copies of the document from within WordPerfect. The print job's journey would begin when WordPerfect sent the print job to logical port NDPS03. When the print job reached this port, the NDPS client redirector would call the NDPS client library, saying "I have a WordPerfect document printing to the HP4si printer." The NDPS client library would look at the NDPS client's short list to retrieve the Printer Agent's network address and the printer configuration.

Next, the NDPS client library would separate the print job information into two channels: one channel for the WordPerfect document (including the request for two copies) and another channel for configuration information (including the request to be notified via a pop-up screen). The NDPS client library would then send the print job to the Printer Agent.

The Printer Agent, in turn, would spool the print job and check the configuration channel. If you had installed the HP4si printer with its default printer configuration, the configuration channel would be empty when it reached the Printer Agent. The Printer Agent would then find the default printer configuration for the HP4si printer and fill the configuration channel with that information.

In this case, the Printer Agent would find in the configuration channel the request to be notified via a pop-up screen. Accordingly, the Printer Agent would submit a profile to Event Notification Service (ENS) to ensure that ENS is prepared to notify you of the print job's status by way of a pop-up screen. Finally, the Printer Agent would retrieve the print job from the spooling area and submit it to the HP Printer Gateway NetWare Loadable Module (NLM), which would pass this print job to the HP4si printer.

After the HP4si printer had completed the print job, this printer would notify the Printer Agent, which would then notify ENS. ENS would check to see if any user on the network is interested in the print job, find the profile the Printer Agent submitted earlier, and notify you via a pop-up screen that the WordPerfect document had been printed.