Distance Learning From NITOL - HiST


Materials used in this course are the property of the author. These lessons may be used only by course participants for self-study purposes. Application for permission to use these materials for other educational purposes such as for teaching or as a basis for teaching should be directly submitted to the author.


Subject: LAN Administration

Lesson: 9 - The printing environment


Summary: This lesson discusses the printing environment in a local area network. Often the most important reason for investing in a local area network is exactly the possibility to share printers. As in the previous lessons, we will only be discussing the general principals of the printing environment. Important principals will be emphasised to give you some ideas about what is happening in the background of a network print-task. Ending the lesson, we will discuss briefly how Novell NetWare organises its printing environment, and how this is connected with the NDS.


Copyright: Arne B. Mikalsen/TISIP

Printing environment

There are many reasons for some one to invest in a local area network, but the possibility to share printers are for many one of the most important. In this lesson we will take a look at the printing environment. As in the earlier lessons we will be discussing the general principles, and we will take a look at some examples from a Novell-environment. In the general part we will discuss the details from the operating systems, print-spooler and queues briefly.

Printing possibilities

There are several different ways to make a print from a computer. I will discuss printings directly from the computer, and through the network.

  1. Local connection to a computer is the traditional or normal way to connect a printer outside a network. A printer is connected to a computer as in Figure 1.

    Figure 1 - Local printer connection.

    A printer is usually used only in a small part of the day. This is a waste of resources.
  2. Printer share box is a cheaper alternative for printer sharing if that is the only reason to get a network. Such boxes are available in more or less intelligent versions. From the versions where a switch is set on the box according to who is supposed to print, to those that has memory enough to store the tasks from several computers and prints them out according to the time of arrival (first-in-first-out). A share-box system is demonstrated in Figure 2.

    Figure 2 - Printer share box
  3. Network printing - this is the traditional solution with a server connected to a local area network and a server. This gives a very powerful system that is capable of handling several print-tasks simultaneously and keeping an advanced queue system. In this lesson we will discuss this type of printing environment. This system is illustrated in Figure 3.

    Figure 3 - Network printing

Printer-drivers

Before we start discussing the printing environment I will discuss briefly an important component in the printing environment, the printer-driver.

Applications (for example a text-editor) does not speak a language a printer is capable of understanding. The different text-editors have different sets of special functions. MS Word uses one code to mark text, while WordPerfect uses another.

Different printers also have their own languages. There is no such thing as a standard printer language. Therefore we need a unit tat are capable of translating signals from the language of the text-editor to the language of the printer. This translator is the printer-driver (Figure 4).


Figure 4 - Printer driver

Spooler

The spooler is a collection of functions that the network operating system uses to administrate the printing environment. We will discuss the spooler's functions from a general point of view.

Buffers and logical printing

The most important task of the spooler is to receive and store the print-tasks as they arrive from the workstations. The spooler will receive the tasks no matter if the printer is available or not, this is done so that the workstations will see the task as done when it is stored at the spooler (We can say that the workstation recognises the spooler as the printer). It is the spooler's task to get the printing-tasks done at the right time.

The harddisk is a faster I/O-equipment that the printer. This is why it is better for the workstations to store the printer-tasks at a printer server or spooler than printing it directly. When the printer is free the spooler reads the next task from the disk, and prints it. This way of printing is called logical printing.

Printer queues

Another important part of the spooler's tasks is the printer-queues. Since the spooler is supposed to serve many workstations, there may arrive several printer-tasks simultaneously. I mentioned above that the printer-tasks are saved to disk as soon as they arrive at the spooler, and are read when their place in the queue has arrived. This storing may be done in different ways:

  1. Each printer-task is saved in separate files in one folder.
  2. Each printer has its own folder, and the printer-tasks are saved in the appropriate printer's folder
  3. All printer-tasks are saved into one file that are decreased or increased as printer-tasks arrive or are printed.

How the printer-tasks are saved, is a matter only for the operating system. What is relevant for the users is how the queues are treated. Imagine a situation where you "have to" make a print of a short document on one page, but somebody else is printing their 200 page manual and there is 10 others in the queue in front of you. It might be an advantage with a strategy that prioritises the smaller printer-tasks. Who hasn't met the problem of "The document due for delivery yesterday and my flight to Bahamas leaves in a few hours, I'll just print it out before I leave…" but the printer reveals that it has reached page 3 of 432 on the document in front of yours. In such moments a more reasonable queue strategy would be quite justified

Possible queue-strategies:

  1. FIFO-queue (First-In-First-Out) - The most used, and the simplest, of all the queue strategies. Nobody will be prioritised above anybody

    Figure 5 - FIFO
  2. LIFO-queue (Last-In-First-Out) - This one is seldom justified in a printing environment. It random who is the last one in and those who arrived early into the queue might get stuck if there are a lot of traffic.

    Figure 6 - LIFO
  3. Smallest-job-first-queue - if there arrives a print-task that are smaller than the one next on the list, it is removed from the queue and printed first. This might be reasonable if there are many large tasks (that do not depend on quick delivery) that keeps the smaller, faster tasks back. This method demands that the printers not are heavily trafficked. Since the larger tasks always are lower prioritised, it might lead to starvation.

    Figure 7 - Smallest job first
  4. Smallest-job-first, but bypassed jobs get an increasing priority. This method is the same as the one above, adding a mechanism that solves the problem of starvation. Each print-task is given a priority number at arrival. This number is proportional with the task size. Each time a task is bypassed, this number is decreased, and eventually the task gets the smallest priority number and is printed.
  5. Queue based priority. This method it often used. Each printer is assigned several queues, and each queue has its own priority. Imagine an example with three queues connected to one printer (Figure 8).

    Figure 8 - Priority queues

    Queue one is for printer-tasks that are important, or a first priority queue. Queue two is for normal tasks, while queue three is for those printer-tasks that might wait. Now the users can be connected to different queues. The boss and his dog go in queue one, his wife and brat, who always eat your candy, in queue two, and us normal users might get a place in queue three (). Or all the users are connected to all the queues, and have to choose the appropriate queue themselves (and off course I am the most important). We will discuss this further later in the lesson when we will take a look at Novell's printer environment
  6. User defined priority - in this method a user might choose a priority number to his print-task before it is sent. All the jobs with a low number will be printed first, and all the ones with higher number last. There might be a default priority that can be adjusted to the importance of getting the document printed quickly.

Queue-configurations

There are several different ways to make the queue connection. One way is demonstrated above concerning priority queues. There are also the following methods:

  1. One-to-one
    The most used version. There is one queue connected to one printer. The treatment of the queue might differ.
  2. Many-to-one
    Often used with priority queues. There might be a priority level connected to each queue, as we discussed above
    .
  3. One-to-many
    Often used if it is one queue is wanted, but several printers are needed. This configuration divides the work efficiently between the different printers. If a queue is large, there will always be a printer in use. In stead of sending all the tasks to one printer and letting the others stand idle, all the tasks are sent to one queue that passes the task over to the first free printer. This method demands that the printers are localised relatively close to each other to make it easier to localise the document after printing.

Printer administration functions

The printer environment often demands a lot of administration from the system operator. Printing is an important task within the network, and many users are "paralysed" if they are unable to get their work on paper. There often happens something that prevents the printer from completing its task. This might be anything from hardware failures within the printer, paper jams, the printout hangs, the bosses little brat brought his little rodent which ate the printer cables or in-numerous other things. Therefore it is important to have a system that detects failures and reports them immediately so that any failures may be fixed.

Statistic reporting

The printer server often has a console which are able to tell which print tasks are waiting in queue, how long they have waited, who sent the task, possibly priority, which printer it is destined to and size of the file. In short: all available information about the different tasks. This console gives a pretty good idea about the printer situation and gives an important base for correcting errors.

Task regulating

We can imagine a situation where a user has written a report that has to be printed as soon as possible. The user tells the system operator that this is a haste task, and asks if it can be moved to the front of the queue. This can be done. It is also possible to delete tasks (the users are limited to delete their own tasks, while the system operator might delete any task) or put them on hold.

In the previous lesson I mentioned that a network system often are organised in a hierarchy. It is often sensible to appoint group- or printer-administrators locally on the departments if the network is large. These administrators are usually users with extended rights. If a printer task has "frozen", one of these users has to step in and correct the failure. It is more sensible for this person to be locally, that to have a system-operator called in from somewhere else, and risk having to wait until he arrives.


At our Computing Department the printing environment are organised in a way that makes "everybody" printer administrators. Everybody is allowed to delete their own and others print-tasks. This is efficient, but also very risky. It is easy to delete a task by mistake. The method of choosing a local printer administrator is therefore recommended.


User functions

Many of the functions we have been discussing to now, as been a part of administrating the network. This chapter will focus on the users.

The spooler is able to take care of making several copies of one document. The printer is normally not used as a photocopier, but sometimes there is the need to make several copies of a document. This might be:

  1. To the same printer - it is more sensible to let the spooler handle the copying than the application. There are many applications that offer several copies (for example Word). This generates n times more network traffic, and therefore it is sensible to let the spooler take care of the copying
  2. Spread information to many printers - this might be distribution of a message to several departments. The spooler might have functions that open for printing on all printers in the network.

Another function in the spooler is front-page printing. In a network with a lot of traffic it can be difficult to know who made the prints. In these cases it would be sensible for the spooler to print a first page that says who owns the document, the title, and how many sides it is. Printing a first page results in a increased paper usage especially if the printed document is on one or two pages.

A third function is the print of a range of pages. We recognise this function from text editors where it is possible to print a range of page, for example from page 18 to 20. In this case this function is not very necessary, but in case the file is a postscript file where a limited range of pages is wanted printed, it would be sensible to let the spooler do the job. In those cases where it is possible to make the application do this, it is recommended since it develops less net-traffic.

The printing environment in Novell NetWare

In earlier lessons we have briefly discussed the NDS-database. We saw that it is made of a collection of objects that is all the resources in a Novell network. This includes files, physical resources (for example printers) and logical resources (for example printer queues). Concerning the printing environment, there are three objects that are important. These are the printer server object, the print queue object, and the printer object.

NDS-objects concerning printing

Printer server

The printer server is realised by a NLM-module, PSERVER.NLM. NLM-modules are applications that are run on a server and are an important part of the Novell network operating system. Printer servers can in NetWare 4 only are installed as a part of a file server. This is new compared to older versions where a workstation could be set up to be a printer server.

A printer server are able to serve up to 256 servers, and five of these can be connected locally to the server (two at the serial ports (COM-ports) and three at the parallel ports (LPT-ports)). The others are connected to other servers, directly on the network if the printer has a network adapter, or on workstations (remote printer).

Figure 9 illustrates an example of the printer server object in Novell. This picture is taken from the administration tool NWADMIN. If we choose "Print layout" a tree like the one in figure 12 is revealed.

.


Figure 9 - Printer server object

The printer object

This object represents a physical printer in a network. As mentioned above, the printer might be connected directly to the network by an adapter, or through a workstation in the network.

Figure 10 demonstrates an example of a printer object from NWADMIN. In the field "Assignments" the most important configuration is done, this is where printer objects are connected to the queues.

Figure 10 - Printer Object

The queue object

We defined print queues earlier this lesson. A queue object represents this logical resource. The queues are placed on the fileserver where the printer server is localised. When a queue is set up, a separate folder is created to contain it. It is possible to have different configurations for queues, for example many to one or one to many queues

Figure 11 shows us an example of the queue object from NWADMIN. In this case I have also demonstrated "assignments" which connects a queue to a printer and a printer server.

Another important field is "users". This field controls who are allowed to send anything to the queue. In this case (The Computing Department - IDB) the group "Ansatte" is placed in this field. This means that all the members of this group are allowed to send their printer tasks to the queue AnsPS

Figure 11 - Queue object

The connection between the objects


Figure 12 - Print layout

Figure 12 shows us how the connection between the different printer objects are defined in one case here at the Computing Department (IDB). At the top left corner we can see a Printer server, IDB_KOPIROM. From this server there branches out several printers, among those IDB_KOPIROM-COM1. To each of the printers there are connected two queues. It is possible to connect more queues to each printer.

Following a NetWare Printing

The connection between the different NDS-objects concerning printing can be summarised into figure 13. If a workstation wishes to print something on the printer, the document is first sent to the printer server located at the fileserver. The document are placed in the queue, and saved to the file server's disk. When the queue has reached the document, it is read from the disk, and sent over the network to the appropriate workstation that has the printer connected. This workstation prints the document.


Figure 13 - Network printing in NetWare

Summary

In this lesson we have been discussing the general principles of printing environment. We have also been taking a look at how Novell NetWare 4 administrates its printing environment. Our discussion about Novell has been very general, and as in the previous lessons we have not been discussing how to set up and configure the user environment. Those of you who wish to learn more about this are advised to seek other literature. I remind you if the literature list at the end of the previous lesson.