Parts of the server

Command processor
The command processor is the interface to all the clients and the submission daemons. Clients and submission daemons consist of the command line or InfoPrint Manager clients and submission daemons (such as the GUI, Select, Submit Express, or IPP Gateway), which use an internal, proprietary, object-oriented API (OOAPI). The command processor parses and analyzes requests from clients and daemons in a specific language, locates the pdserver owning the target object of the request, and sends the request (using an internal platform-independent protocol) to the pdserver containing the object. It then waits for the results and returns formatted results to the requester in their language. The command processor owns the copy of all print files for jobs submitted to it for any logical or actual destination in the system. If the actual destination processing the job cannot directly access the command processor's copy of the print file, the command processor provides the print file upon request to the pdserver containing the actual destination. It also does automatic data stream determination and owns the local to global ID mapping table. The local to global job id mapping tables allow users to refer to their jobs by 1, 2, or 3 instead of serverName:123450000. Each user can have a job 1. The command processor also manages and dispatches GUI events to all operator and administrator GUIs connected to it.
The spooler provides the job management function. It owns and manages print jobs (not print files) including their creation and validation. It makes sure jobs are scheduled for printing to an appropriate actual destination based on the actual destination's scheduling algorithm and attributes. It holds retained jobs for possible reprint. And it sends notification for events that occur in the spooler to end users and to the command processor for dispatch to GUIs. Line art showing the Spooler with a logical destination (LD), a queue (Q), and a Job with two documents.

The spooler part of the pdserver contains jobs and document objects that represent the jobs to be printed; logical destination objects that are the front end to a queue; initial value job and initial value document objects that provide the defaulting for the job and document attributes; queue objects that handle the scheduling of jobs to actual destinations; and proxy actual destination objects that represent an actual destination object in some supervisor part of a pdserver. The actual destination could be in either the same pdserver or a different pdserver than the pdserver containing the proxy actual destination.

The supervisor provides printer management. It manages the actual destinations that handle the actual printing of the print job, and it sends notification for events that occur in the supervisor to end users and GUIs. Line art showing the Supervisor with and actual destination (AD) that connects to medium, Resource Contents, Auxiliary sheet, and Transforms.

The supervisor part of the pdserver contains actual destination objects that represent printing, or email devices, auxiliary sheet objects that represent start, separator, and end sheets, medium objects that represent the material on which printing occurs, resource context objects that represent the location of some printing resources, and transform objects that represent transforms (and other programs that act on the print data). It also contains proxy job and document objects that represent the job and documents that have been scheduled to it to be processed and printed.

  1. Not all of these objects are used by every type of DSS.
  2. The transform objects should not be confused with the automatic transforms used by the PSF DSS. See Print jobs and print files for more information.

A pdserver
In summary, it is important to understand that these are logical distinctions and remember that any server can play any combination of these roles.Line art of a pdserver that includes details for the Command Processor (with no objects), the Spooler, and the Supervisor.